linux磁盘管理(centos7)
一. 查看磁盘:
- 命令df:
用于查看已挂载磁盘的总容量、使用容量、剩余容量等,可以不加任何参数,默认以KB为单位显示。
-i:查看inodes的使用情况
-h:表示使用合适的单位显示
-k、-m:分别以单位KB、MB显示
[[email protected] ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda3 18351104 1124404 17226700 7% /
devtmpfs 487064 0 487064 0% /dev
tmpfs 497960 0 497960 0% /dev/shm
tmpfs 497960 7808 490152 2% /run
tmpfs 497960 0 497960 0% /sys/fs/cgroup
/dev/sda1 508580 122216 386364 25% /boot
tmpfs 99596 0 99596 0% /run/user/0
[[email protected] ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 1.1G 17G 7% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 497M 120M 378M 25% /boot
tmpfs 98M 0 98M 0% /run/user/0
- du命令:
用来查看某个文件或目录所占用空间的大小
-a:表示全部文件和目录的大小都列出来,单位默认显示为KB
-h:自动调节单位
-m:以mb为单位显示
-s:表示列出总和
[[email protected] ~]# du /root/
28 /root/.ssh
0 /root/2
68 /root/
[[email protected] ~]# du -h /root/
28K /root/.ssh
0 /root/2
68K /root/
[[email protected] ~]# du -s /root/
68 /root/
[[email protected] ~]# du -sh /root/
68K /root/
二.磁盘分区:
查看系统是否添加:
[[email protected] ~]# fdisk -l
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000dc8b3
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 5220351 2097152 82 Linux swap / Solaris
/dev/sda3 5220352 41943039 18361344 83 Linux
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区 #显示已经添加/dev/sdb
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
- 创建磁盘分区:mbr分区最多只能2T,而且最多只能4个主分区
[[email protected] ~]# fdisk /dev/sdb
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbda6321f
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
[[email protected] ~]# ls /dev/sdb*
/dev/sdb /dev/sdb1 /dev/sdb2
- 格式化分区:
mke2fs命令----不支持xfs分区
-b:表示分区时设定每个数据区块占用的空间大小。目前每个数据块支持1024B、2048B、4096B。
-t:用来指定文件系统的类型,可以是ext2、ext3、ext4
-i:表示设定inode的大小。
-N:表示设定inode的数量
-L:指定分区标签
-m:分配预留大小
[[email protected] ~]# mke2fs -t ext4 -L test /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=test
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
xfs分区:
[[email protected] ~]# mkfs.xfs /dev/sdb1
mkfs.xfs: /dev/sdb1 appears to contain an existing filesystem (ext4).
mkfs.xfs: Use the -f option to force overwrite.
[[email protected] ~]# mkfs.xfs -f /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=131072 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=524288, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
查看还没有挂载的分区,使用命令blkid
[[email protected] ~]# blkid /dev/sdb1
/dev/sdb1: UUID="7c715f83-aa53-4d7b-96e5-708a83fe2c90" TYPE="xfs"
分区设置block块大小:
[[email protected] ~]# mke2fs -t ext4 -b 2048 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=2048 (log=1)
分块大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 1048576 blocks
52428 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=269484032
64 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
更改预留大小:
[[email protected] ~]# mke2fs -m 1 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
5242 blocks (1.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在写入inode表: 完成
Writing superblocks and filesystem accounting information: 完成
三.磁盘挂载mount
[[email protected] ~]# mount /dev/sdb /mnt/
[[email protected] ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 1.1G 17G 7% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 497M 120M 378M 25% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sdb 10G 33M 10G 1% /mnt
卸载
[[email protected] mnt]# umount /dev/sdb
umount: /mnt:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
[[email protected] mnt]# cd
[[email protected] ~]# umount /mnt
[[email protected] ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 1.1G 17G 7% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 497M 120M 378M 25% /boot
tmpfs 98M 0 98M 0% /run/user/0
或者
[[email protected] mnt]# umount -l /mnt #可以不用退出目录
挂载分区需要写入到/etc/fstab中,才会永久生效
- swap分区
先用dd命令建立一个文件,然后再mkswap格式化为swap文件,然后再swapon刷新
[[email protected] ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=200
记录了200+0 的读入
记录了200+0 的写出
209715200字节(210 MB)已复制,15.939 秒,13.2 MB/秒
[[email protected] ~]# mkswap -f /tmp/newdisk
正在设置交换空间版本 1,大小 = 204796 KiB
无标签,UUID=e4a3aaef-7bfb-4417-b042-2455ade6f3ce
[[email protected] ~]# free -m
total used free shared buff/cache available
Mem: 972 132 471 7 369 659
Swap: 2047 0 2047
[[email protected] ~]# swapon /tmp/newdisk
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。
[[email protected] ~]# chmod 0600 /tmp/newdisk
[[email protected] ~]# free -m
total used free shared buff/cache available
Mem: 972 132 470 7 369 659
Swap: 2247 0 2247
LVM(逻辑管理器)
|物理卷管理 | 卷组管理 | 逻辑卷管理
|pvscan |vgscan |lvscan
|pvcreate |vgcreate |lvcreate
|pvdisplay |vgdisplay |lvdisplay
|pvremove |vgremove |lvremove
| |vgextend |lvextend
| |vgreduce |lvreduce
- 创建分区为lvm格式
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):t #设置lvm格式
分区号 (1-3,默认 3):1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
设置物理卷:
安装lvm
[[email protected] ~]# yum provides "/*/pvcreate"
[[email protected] ~]# yum install -y lvm2
创建物理卷:
[[email protected] ~]# pvcreate /dev/sdb1 /dev/sdb2
Device /dev/sdb1 not found.
Device /dev/sdb2 not found.
[[email protected] ~]# partprobe
[[email protected] ~]# pvcreate /dev/sdb1 /dev/sdb2
Can't open /dev/sdb1 exclusively. Mounted filesystem?
Can't open /dev/sdb2 exclusively. Mounted filesystem?
Can't open /dev/sdb1 exclusively. Mounted filesystem?
Can't open /dev/sdb2 exclusively. Mounted filesystem?
[[email protected] ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 1.4G 17G 8% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 497M 120M 378M 25% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sdb 10G 33M 10G 1% /mnt
[[email protected] ~]# umount /mnt/
创建
[[email protected] ~]# partprobe
[[email protected] ~]# pvcreate /dev/sdb1 /dev/sdb2
WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y
Wiping ext4 signature on /dev/sdb1.
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdb2" successfully created.
[[email protected] ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 2.00g 2.00g
/dev/sdb2 lvm2 --- 2.00g 2.00g
[[email protected] ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2
Volume group "vg1" successfully created
[[email protected] ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 0 0 wz--n- 3.99g 3.99g
格式化
[[email protected] ~]# mke2fs -t ext4 /dev/vg1/vo
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
76912 inodes, 307200 blocks
15360 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=33947648
38 block groups
8192 blocks per group, 8192 fragments per group
2024 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
挂载
[[email protected] ~]# mount /dev/vg1/vo /mnt
[[email protected] ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 1.4G 17G 8% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.6M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 497M 120M 378M 25% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/mapper/vg1-vo 283M 2.1M 262M 1% /mnt
扩容逻辑卷
[[email protected] ~]# umount /mnt
[[email protected] ~]# lvresize -L 400M /dev/vg1/vo
New size (100 extents) matches existing size (100 extents).
[[email protected] ~]# e2fsck -f /dev/vg1/vo
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/vo: 12/76912 files (0.0% non-contiguous), 19979/307200 blocks
[[email protected] ~]# resize2fs /dev/vg1/vo
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/vo to 409600 (1k) blocks.
The filesystem on /dev/vg1/vo is now 409600 blocks long.
[[email protected] ~]# mount /dev/vg1/vo /mnt
[[email protected] ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 18G 1.4G 17G 8% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.6M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 497M 120M 378M 25% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/mapper/vg1-vo 380M 2.3M 354M 1% /mnt
逻辑卷缩容:
[[email protected] ~]# e2fsck -f /dev/vg1/vo
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
[[email protected] ~]# e2fsck -f /dev/vg1/vo
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/vo: 12/101200 files (0.0% non-contiguous), 23299/409600 blocks
[[email protected] ~]# resize2fs /dev/vg1/vo 200M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/vo to 204800 (1k) blocks.
The filesystem on /dev/vg1/vo is now 204800 blocks long.
[[email protected] ~]# lvresize -L 200M /dev/vg1/vo
WARNING: Reducing active logical volume to 200.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/vo? [y/n]: y
Size of logical volume vg1/vo changed from 400.00 MiB (100 extents) to 200.00 MiB (50 extents).
Logical volume vg1/vo successfully resized.
- xfs扩容:
[[email protected] ~]# mkfs.xfs -f /dev/vg1/vo
meta-data=/dev/vg1/vo isize=512 agcount=4, agsize=12800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=51200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[[email protected] ~]# blkid
/dev/sda1: UUID="39f030d3-02cb-45bc-8823-5c0139be88a3" TYPE="xfs"
/dev/sda2: UUID="77a3f3cc-3f7e-4077-aa48-ece8cba44dbd" TYPE="swap"
/dev/sda3: UUID="58991356-724f-4290-9be3-2aded9ff68e9" TYPE="xfs"
/dev/sdb1: UUID="QUVTIW-i11z-SBjg-aeBR-Upea-46CC-7ztoPo" TYPE="LVM2_member"
/dev/sdb2: UUID="6GBwaf-HQCw-1oAe-Xx10-WZhI-oxgF-j2tUMf" TYPE="LVM2_member"
/dev/mapper/vg1-vo: UUID="24837900-df2f-43bc-8329-88d3849ea1ec" TYPE="xfs"
[[email protected] ~]# lvresize -L 400M /dev/vg1/vo
Size of logical volume vg1/vo changed from 200.00 MiB (50 extents) to 400.00 MiB (100 extents).
Logical volume vg1/vo successfully resized.
[[email protected] ~]# xfs_growfs /dev/vg1/vo
meta-data=/dev/mapper/vg1-vo isize=512 agcount=4, agsize=12800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=51200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 51200 to 102400
笔记:
RAID(独立冗余磁盘阵列)
RAID 0:提高速度
RAID 1:具有备份功能
RAID 5: 把设备的数据奇偶校验信息保存到其他硬盘设备中。
RAID 10:RAID0和RAID1的组合。
dd工具命令使用:
测试写速度:
dd if=/dev/zero of=/fdfs1/dauyu/test1.dbf bs=8k count=400000
测试读取速度:
dd if=/fdfs1/daiyu/test1.dbf of=/dev/null