Linux下磁盘管理

设置密码
mkpasswd
mkpasswd -s 0
mkpasswd -s 0 -1 15 规定密码的长度

1. 查看磁盘或者目录的容量
df 查看磁盘各分区使用情况
不加参数以k为单位
df -i inode数,df -h 以G或者T或者M
df -m 以M单位显示

du 查看目录或者文件的容量
不加参数 以k为单位显示
-s 列出总和 -a 列出所有文件和目录
-k 以k为单位 -m 以M为单位
-h 最合适的单位 最常用组合 -sh du -sh /root
扩展 ls -lh 看到的大小和du相比

2. 磁盘的分区和格式化
fdisk -l 查看磁盘和分区,大于2T用GPT
fdisk /dev/sdb 进入分区列表
设备名 m 列出常用命令,常用的有
‘p’, 打印分区出来
‘n’, 创建一个新的分区
‘d’, 删除分区
‘w’, 保存退出
‘q’. 退出

fdisk /dev/sdb

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1044, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): +1G

Command (m for help): p

Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf729b1a2

Device Boot Start End Blocks Id System
/dev/sdb1 1 132 1060258+ 83 Linux

只可以有主分区+扩展分区<=4个,扩展分区只能分一个,主分区和逻辑分区
逻辑分区从5开始的
Device Boot Start End Blocks Id System
/dev/sdb1 1 654 5253223+ 5 Extended 扩展分区
/dev/sdb5 1 132 1060227 83 Linux 逻辑分区

2 ,3 ,4 是给主分区用的

fdisk -l /dev/sdb 查看sdb分区

mke2fs,格式化。这个命令比下面的好
mkfs.ext2, mkfs.ext3, mkfs.ext4
-t 文件系统格式 ext3 ext4
-b 指定每个数据块大小,目前支持1024, 2048 及4096
-L 分区标签
格式化时默认blocks (5.00%) reserved for the super user //给超级用户预留的一部分空间,用来作为特殊用途
-m 可以更改这个比例,如 mke2fs -m 0.1 /dev/sdb1 //意思是,只预留出0.1%

mke2fs -t ext4 /dev/sdb5 格式化
mke2fs -b 2048 -L aming -t ext4 /dev/sdb5
mke2fs -b 2048 -L aming -m 0.1 -t ext4 /dev/sdb5

3. 挂载、卸载磁盘分区
mount 不加任何选项和参数,查看已经挂载情况
mount 格式 mount -t type /dev/sda5 /mnt
mount -t 指定挂载分区格式,如 -t ext3
umount /dev/sda5 或者 umount /mnt
umount -l 强制卸载,在挂载的目录下也可以强制卸载

[[email protected] aming]# umount /aming 如果在挂载的目录下就不能进行卸载操作
umount: /aming: device is busy.

mount -o 后面跟各种选项,比如remount,ro,noatime等,具体选项如下:

“async/sync” : async表示和磁盘和内存不同步,系统每隔一段时间把内存数据写入磁盘中,而sync则会时时同步内存和磁盘中数据;
“auto/noauto” : 开机自动挂载/不自动挂载;
“default” : 按照大多数永久文件系统的缺省值设置挂载定义,它包含了rw, suid, dev, exec, auto, nouser, async
“ro” : 按只读权限挂载 ;
“rw” : 按可读可写权限挂载 ;

“exec/noexec” : 允许/不允许可执行文件执行,但千万不要把根分区挂载为noexec,那就无法使用系统了,连mount命令都无法使用了,这时只有重新做系统了;
“user/nouser” : 允许/不允许root外的其他用户挂载分区,为了安全考虑,请用nouser ;
“suid/nosuid” : 允许/不允许分区有suid属性,一般设置nosuid ;
“usrquota” : 启动使用者磁盘配额模式,磁盘配额相关内容在后续章节会做介绍;
“grquota” : 启动群组磁盘配额模式;

mount -a 会根据/etc/fstab 挂载所有分区============
UUID是如何来的,使用命令 blkid
blkid命令 后可以不跟设备名,列出所有
mount UUID=“……” /mnt
使用UUID的好处是,多块磁盘,如果在服务器上换了插槽位置,设备名会变,但UUID是唯一的
======================
mount /dev/sdb5 /aming
mount -oremount,ro /dev/sdb5 /aming 这个代表重新挂载只读
[[email protected] aming]# touch 1.txt
touch: cannot touch `1.txt‘: Read-only file system
=======================

mkdir /aming
mount /dev/sdb5 /aming
[[email protected] /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 990M 16G 6% /
tmpfs 740M 0 740M 0% /dev/shm
/dev/sda1 93M 24M 65M 27% /boot
/dev/sda2 2.0G 3.0M 1.9G 1% /swap
/dev/sdb5 988M 1.3M 985M 1% /aming

mke2fs -t ext4 /dev/sdb2
[[email protected] /]# mkdir /data
[[email protected] /]# mount /dev/sdb2 /data/
[[email protected] /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 990M 16G 6% /
tmpfs 740M 0 740M 0% /dev/shm
/dev/sda1 93M 24M 65M 27% /boot
/dev/sda2 2.0G 3.0M 1.9G 1% /swap
/dev/sdb5 988M 1.3M 985M 1% /aming
/dev/sdb2 988M 1.3M 935M 1% /data

说明,如果sdb5和sdb2同时挂载在/aming下面,那sdb2会把sdb5覆盖
dev/sdb5 988M 1.3M 985M 1% /aming
/dev/sdb2 988M 1.3M 935M 1% /aming

touch /aming/11.txt 数据已经写入到sdb2这块磁盘的
unount /aming
ls /aming/ 下面是没有东西的
mount /dev/sdb2 /data/
ls /data/

cat /etc/filesystems 查看支持的文件系统
ext4
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus

================
方法一
让他自动挂载
[[email protected] /]# vim /etc/fstab
/dev/sdb5 /aming ext4 defaults 0 0 在配置文件下面加上这行,开机就自动挂载了
[[email protected] /]# mount -a 让他自动挂载========

[[email protected] /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 990M 16G 6% /
tmpfs 740M 0 740M 0% /dev/shm
/dev/sda1 93M 24M 65M 27% /boot
/dev/sda2 2.0G 3.0M 1.9G 1% /swap
/dev/sdb5 988M 1.3M 985M 1% /aming

方法二
[[email protected] ~]#vim /etc/rc.local 在这个配置文件里加下面这行,开机就自动挂载
mount /dev/sdb2 /data/ 这个data目录必须是先存在的

===========================================
[[email protected] /]# blkid 查看uuid
/etc/fstab文件的作用
磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载。
系统开机时会主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘。这样我们只需要将磁盘的挂载信息写入这个文件中我们就不需要每次开机启动之后手动进行挂载了。
每个分区被格式化以后都会有一个UUID作为唯一的标识号。使用uuid挂载的话就不用担心会发生错乱的问题了。

4. 配置文件 /etc/fstab
第一列就是分区的标识,可以LABEL,也可以UUID,当然也可以 (/dev/sda1);
第二列是挂载点;
第三列是分区的格式;
第四列则是mount的一些挂载参数,一般情况下,直接写defaults即可;
第五列的数字表示是否被dump备份,是的话这里就是1,否则就是0;第六列是开机时是否自检磁盘。1,2都表示检测,0表示不检测,/ 分区必须设为1,而且整个fstab中只允许出现一个1,1比2优先级高,所以先检测1,然后再检测2,如果有多个分区需要开机检测那么都设置成2吧,1检测完了后会同时去检测2。

swap 是系统内存不足的时候,数据就临时存放在swap里面

5. lvm配置
LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。支持动态扩充磁盘空间。
首先从空的硬盘sdb上创建两个分区sdb1 1G, sdb2 2G。
1)创建逻辑卷
pvcreate /dev/sdb1 /dev/sdb2 //创建物理卷
pvdisplay //可以列出已经创建的物理卷
vgcreate vgdata /dev/sdb1 /dev/sdb2 //创建卷组 vgdata ,并将刚才创建好的两个物理卷加入该卷组
vgdisplay //可以列出已经建好的卷组
# 默认PE大小为4MB,PE是卷组的最小存储单元.可以通过 –s参数修改大小。

lvcreate -L 500M -n lvdata1 vgdata //分割500M给新的逻辑卷lvdata1
lvdisplay //列出当前的逻辑卷

mkfs.ext4 /dev/vgdata/lvdata1 //格式化逻辑卷
mount /dev/vgdata/lvdata1 /aming //挂载逻辑卷

2) 扩展逻辑卷
逻辑卷lvdata1不够用了,我们如何给他增加空间呢?
lvextend –L +500M /dev/vgdata/lvdata1 //给lvdata1增加500M空间。
resize2fs /dev/vgdata/lvdata1 //同步文件系统

3)扩展卷组
当卷组不够用的情况下,我们也是可以扩展卷组的。我们再创建一个新的分区叫做/dev/sdb3.
vgextend vgdata /dev/sdb3 //把sdb3加入到卷组vgdata中

4)减少逻辑卷大小
卸载 --> e2fsck 检测剩余空间 --> resize2fs 同步文件系统 --> 使用lvreduce命令将逻辑卷减少
注意:文件系统大小和逻辑卷大小一定要保持一致才行。如果逻辑卷大于文件系统,由于部分区域未格式化成文件系统会造成空间的浪费。

umount /data1
e2fsck -f /dev/mapper/vgdata-lvdata1
resize2fs /dev/mapper/vgdata-lvdata1 700M
lvreduce -L 700M /dev/vgdata/lvdata1
mount /dev/vgdata/lvdata1 /data1

5) 当磁盘或分区损坏时,如何转移数据
pvmove 转移空间数据 --> vgreduce命令将即将坏的磁盘或者分区从卷组vgdata里面移除除去 --> pvremove命令将即将坏的磁盘或者分区从系统中删除掉 --> 拆除或修复磁盘
pvmove /dev/sdb1
vgreduce vgdata /dev/sdb1
pvremove /dev/sdb1

6) 删除整个逻辑卷
umount卸载逻辑卷 --> 修改配置文件/etc/fstab(若是之前更改过) --> lvremove 删除逻辑卷lvdata1 --> vgremove 删除卷组vgdata --> pvremove 将物理卷转化成普通分区
umount /dev/vgdata/lvdata1
lvremove /dev/vgdata/lvdata1
vgremove vgdata
pvremove /dev/sdb2
pvremove /dev/sdb3

要扩展学习的内容有:
存储相关NAS、SAN、DAS、RAID
磁盘结构,相关概念 header,sectors,cylinders
虚拟化相关:Xen与kvm

时间: 2024-10-07 05:06:58

Linux下磁盘管理的相关文章

linux下磁盘管理机制--LVM

当我们用传统分区方法使用磁盘时,当出现分区大小不够用的时候,通常只能添加添加一个更大的磁盘,重新创建分区来扩展空间.但是,这样只能是将原来的磁盘下线,换上新的磁盘,在将原始数据写入,在实际的生产过程中是不允许的.此时就需要使用逻辑卷LVM这种磁盘分区管理了. 逻辑卷是将硬盘空间重新"分割"成大小相等的块(PE)组成的PV放到一个容器(VG)中,当需要可以随时向这个容器中取出这样的块,来实现动态调整磁盘空间大小.当然新添加的块不会改变原来的文件系统,而且原磁盘也不用下线. 下面说明逻辑卷

linux下磁盘管理机制--RAID

RAID(Redundant Array Of Independent Disks):独立磁盘冗余阵列.RAID的最初出现的目的是为了解决中小型企业因经费原因使用不起SCSCI硬盘,而不得不使用像IDE较廉价的磁盘情况下,将多块IDE磁盘通过某种机制组合起来,使得IDE磁盘在一定程度上提高读写性能的一种机制.当然,现在也可以将SCSCI类的磁盘也可以做成RAID来提高磁盘的读写性能. 一.RAID的级别 RAID机制通过级别来RAID级别来定义磁盘的组合方式.常见的级别有:RAID0,RAID1

linux下磁盘管理神器lvm命令使用以及TCP协议

一.LVM 简介LVM(Logical Volume Manager)是一个应用于Linux的内核的逻辑卷管理器,是Linux环境下对磁盘进行分区管理的一种机制.先介绍几个有关LVM的名词1.PV(物理卷)可以是一个磁盘,一个分区.由PE(物理盘区)组成,多个PV可以组成一个VG(卷组).2.VG(卷组)多个物理卷组成的一个组,但是卷组不可以直接使用,需要在上面创LV(逻辑卷)才可以使用.VG上可以创建多个LV.3.PE(物理盘区)就像我们之前学习的磁盘的block块,默认是4MB.4.LV(逻

2015.3.23 Linux下磁盘管理

1.查看磁盘或目录的容量 df  查看磁盘各分区使用情况 df -i  -h  -m du  查看某个目录或文件所占的空间大小 du -a /tmp:列车全部文件与目录大小 du -c:最后汇总 2.磁盘的分区和格式化 fdisk -l 查看磁盘和分区,大于2T用GPT mkfs.ext3.mkfs.ext4.mke2fs -t ext4 格式化分区 格式化时默认blocks (5.00%) reserved for the super user  ##给超级用户预留的空间,特殊用途 -m  可

linux下磁盘分区详解

给新硬盘上建立分区时都要遵循以下的顺序:建立主分区→建立扩展分区→建立逻辑分区→激活主分区→格式化所有分区. 一个硬盘的主分区也就是包含操作系统启动所必需的文件和数据的硬盘分区,要在硬盘上安装操作系统,则该硬盘必须得有一个主分区.         扩展分区也就是除主分区外的分区,但它不能直接使用,必须再将它划分为若干个逻辑分区才行.逻辑分区也就是我们平常在操作系统中所看到的D.E.F等盘. 分区从实质上说就是对硬盘的一种格式化.当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了BIOS系

linux之磁盘管理(五)

swap分区 交换空间,正是因为交换空间的存在,使我们的内存可以过载使用. 在物理买内存不足的情况下,拿swap来应急. free:查看当前系统上物理内存和交换空间的使用情况. -m [[email protected] ~]# free total       used       free     shared    buffers     cached Mem:       1026868     419232     607636          0      23704     28

Linux基础-----磁盘管理

文件系统 Windows NTFS FAT32 Linux VFS:虚拟文件系统:将底层文件系统的不同,通过统一的接口,输出给上层应用 ext2 ext3 ext4 xfs 文件系统:对分区文件就行组织管理,并建立索引表,文件系统有内核提供 格式化:创建文件系统 低级格式化:创建磁道.扇区 高级格式化:创建文件系统 分区是按柱面来划分 磁道:数据存储在磁道上 扇区:将磁道划分成扇状用于管理 柱面:多个盘片,相同位置的扇区,形成柱面 0磁道的0扇区:(不属于任何分区)MBR 512字节   主引导

linux之磁盘管理(四)

文件系统管理 重新创建文件系统会损坏原有文件. 创建某个分区上的文件系统 使用 mkfs :make file system -t  FSTYPE   指定文件系统类型 mkfs命令比较特殊 [[email protected] ~]# which mkfs.ext2 /sbin/mkfs.ext2 [[email protected] ~]# ls -l /sbin/mkfs.ext2 -rwxr-xr-x 3 root root 47312 Sep  4  2009 /sbin/mkfs.e

Linux 红帽 &nbsp; 磁盘管理~~~~RAID5+LVM

Linux  红帽    磁盘管理~~~~RAID5+LVM 实验环境: 在Linux 操作系统的PC机上添加3块20G大小的磁盘 实验步骤: 一.  创建RAID5: 1. 准备工作: [[email protected] ~]# uname -a              //查看基本信息 [[email protected] ~]# cat /etc/redhat-release        //查看红帽的发行版本 为添加好的三个磁盘进行分区, 分区的类型:FD(全称:)    为了节省