lsblk-查看磁盘及分支信息
lsblk
df-查看磁盘容量及挂载信息
df -Th
fdisk-磁盘管理工具
fdisk -l #查看磁盘信息
管理磁盘流程三部曲
分区(MBR或者GPT) ---->格式化/文件系统 Filesystem ----> 挂载mount
就好比:
毛坯——>装修——>搬入新家
[root@localhost ~]# lsblk #查看磁盘信息
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 2.6G 0 rom
nvme0n1 259:0 0 20G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 19G 0 part
├─cslo-root 253:0 0 17G 0 lvm /
└─cslo-swap 253:1 0 2G 0 lvm [SWAP]
nvme0n2 259:3 0 20G 0 disk
[root@localhost ~]# fdisk /dev/nvme0n2 #启动分区工具
命令(输入 m 获取帮助):n
分区类型
p 主分区 (0 primary, 0 extended, 4 free)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (1-4, 默认 1): 1
第一个扇区 (2048-41943039, 默认 2048):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-41943039, 默认 41943039): +5G
创建了一个新分区 1,类型为“Linux”,大小为 5 GiB。
命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
[root@localhost ~]# partprobe /dev/nvme0n2p1
[root@localhost ~]# fdisk -l #查看分区结果,lsblk也可
[root@localhost ~]# mkfs.ext4 /dev/nvme0n2p1
[root@localhost ~]# mkdir -p /mount/nvme0n2p1
[root@localhost ~]# mount -t ext4 /dev/nvme0n2p1 /mount/nvme0n2p1
[root@localhost ~]# df -Th #查看挂载信息,方法1
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 741M 9.2M 732M 2% /run
tmpfs tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/mapper/cslo-root xfs 17G 2.5G 15G 15% /
tmpfs tmpfs 1.9G 0 1.9G 0% /tmp
/dev/nvme0n1p1 xfs 1014M 204M 811M 21% /boot
/dev/nvme0n2p1 ext4 4.9G 24K 4.6G 1% /mnt/nvme0n2p1
[root@localhost ~]# cd /mnt/nvme0n2p1/
[root@localhost nvme0n2p1]# dd if=/dev/zero of=1.txt bs=200M count=1 #写入测试
[root@localhost nvme0n2p1]# df -Th #查看变化
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 741M 9.2M 732M 2% /run
tmpfs tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/mapper/cslo-root xfs 17G 2.5G 15G 15% /
tmpfs tmpfs 1.9G 0 1.9G 0% /tmp
/dev/nvme0n1p1 xfs 1014M 204M 811M 21% /boot
/dev/nvme0n2p1 ext4 4.9G 201M 4.4G 5% /mnt/nvme0n2p1
[root@localhost ~]# mount #查看挂载信息,方法2
#自动挂载,方法1
vim /etc/fstab
#自动挂载,方法2
vim ~/.bashrc
LVM-逻辑卷
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 2.6G 0 rom
nvme0n1 259:0 0 20G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 19G 0 part
├─cslo-root 253:0 0 17G 0 lvm /
└─cslo-swap 253:1 0 2G 0 lvm [SWAP]
nvme0n2 259:3 0 20G 0 disk
[root@localhost ~]# pvcreate /dev/nvme0n2
WARNING: dos signature detected on /dev/nvme0n2 at offset 510. Wipe it? [y/n]: y
Wiping dos signature on /dev/nvme0n2.
Physical volume "/dev/nvme0n2" successfully created.
[root@localhost ~]# vgcreate vg1 /dev/nvme0n2
Volume group "vg1" successfully created
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 1 0 0 wz--n- <20.00g <20.00g
cslo 1 2 0 wz--n- <19.00g 0
[root@localhost ~]# lvcreate -L 200M -n lv1 vg1
WARNING: dos signature detected on /dev/vg1/lv1 at offset 510. Wipe it? [y/n]: y
Wiping dos signature on /dev/vg1/lv1.
Logical volume "lv1" created.
[root@localhost ~]# lvscan
ACTIVE '/dev/vg1/lv1' [200.00 MiB] inherit
ACTIVE '/dev/cslo/swap' [2.00 GiB] inherit
ACTIVE '/dev/cslo/root' [<17.00 GiB] inherit
[root@localhost ~]# mkfs.ext4 /dev/vg1/lv1
mke2fs 1.46.0 (29-Jan-2020)
创建含有 204800 个块(每块 1k)和 51200 个inode的文件系统
文件系统UUID:17df7738-e8eb-4e73-9704-70b59aff17d8
超级块的备份存储于下列块:
8193, 24577, 40961, 57345, 73729
正在分配组表: 完成
正在写入inode表: 完成
创建日志(4096 个块)完成
写入超级块和文件系统账户统计信息: 已完成
[root@localhost ~]# mkdir -p /mnt/lv1
[root@localhost ~]# mount /dev/vg1/lv1 /mnt/lv1
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 741M 9.2M 732M 2% /run
tmpfs tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/mapper/cslo-root xfs 17G 2.5G 15G 15% /
tmpfs tmpfs 1.9G 0 1.9G 0% /tmp
/dev/nvme0n1p1 xfs 1014M 204M 811M 21% /boot
/dev/mapper/vg1-lv1 ext4 189M 14K 175M 1% /mnt/lv1
[root@localhost ~]# dd if=/dev/zero of=1.txt bs=150M count=1 #测试
记录了1+0 的读入
记录了1+0 的写出
157286400 bytes (157 MB, 150 MiB) copied, 0.63304 s, 248 MB/s
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 741M 9.2M 732M 2% /run
tmpfs tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/mapper/cslo-root xfs 17G 2.5G 15G 15% /
tmpfs tmpfs 1.9G 0 1.9G 0% /tmp
/dev/nvme0n1p1 xfs 1014M 204M 811M 21% /boot
/dev/mapper/vg1-lv1 ext4 189M 151M 25M 87% /mnt/lv1
LVM-在线扩容
[root@localhost ~]# vgs #先查看是否有空闲空间
VG #PV #LV #SN Attr VSize VFree
vg1 1 1 0 wz--n- <20.00g 19.80g
cslo 1 2 0 wz--n- <19.00g 0
[root@localhost ~]# lvetend -L +200M /dev/vg1/lv1
Size of logical volume vg1/lv1 changed from 200.00 MiB (50 extents) to 400.00 MiB (100 extents).
Logical volume vg1/lv1 successfully resized.
[root@localhost ~]# resize2fs /dev/vg1/lv1 #与上次磁盘空间比较
resize2fs 1.46.0 (29-Jan-2020)
/dev/vg1/lv1 上的文件系统已被挂载于 /mnt/lv1;需要进行在线调整大小
old_desc_blocks = 2, new_desc_blocks = 4
/dev/vg1/lv1 上的文件系统现在为 409600 个块(每块 1k)。
[root@localhost ~]# df -Th #查看变化
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 741M 9.2M 732M 2% /run
tmpfs tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/mapper/cslo-root xfs 17G 2.5G 15G 15% /
tmpfs tmpfs 1.9G 0 1.9G 0% /tmp
/dev/nvme0n1p1 xfs 1014M 204M 811M 21% /boot
/dev/mapper/vg1-lv1 ext4 384M 153M 210M 43% /mnt/lv1
LVM-在线减容
[root@localhost ~]# lvs //查询LVM容量
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home centos -wi-ao---- <39.00g
root centos -wi-ao---- 50.00g
swap centos -wi-ao---- 10.00g
data_lv data_vg -wi-ao---- 4.99t
[root@localhost ~]# umount /data //卸载LVM
[root@localhost ~]# e2fsck -f /dev/data_vg/data_lv //强制检查文件系统正确性
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/data_vg/data_lv: 21/167444480 files (0.0% non-contiguous), 289491332/1339552768 blocks
[root@localhost ~]# resize2fs /dev/data_vg/data_lv 4t //重整文件系统大小至4t,此大小必须小于原LVM容量,大于现有数据容量
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/data_vg/data_lv to 1073741824 (4k) blocks.
The filesystem on /dev/data_vg/data_lv is now 1073741824 blocks long.
[root@localhost ~]# lvreduce -L 4t /dev/data_vg/data_lv //lvm减容至4t
WARNING: Reducing active logical volume to 4.00 TiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce data_vg/data_lv? [y/n]: y
Size of logical volume data_vg/data_lv changed from 4.99 TiB (1308157 extents) to 4.00 TiB (1048576 extents).
Logical volume data_vg/data_lv successfully resized.
[root@localhost ~]# lvs //查询LVM容量
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home centos -wi-ao---- <39.00g
root centos -wi-ao---- 50.00g
swap centos -wi-ao---- 10.00g
data_lv data_vg -wi-a----- 4.00t
[root@localhost ~]# e2fsck -f /dev/data_vg/data_lv //强制检查文件系统正确性
e2fsck 1.42.9 (28-Dec-2013)
/dev/data_vg/data_lv is mounted.
e2fsck: Cannot continue, aborting.
[root@localhost ~]# vgreduce data_vg /dev/vdd1 //VG减容PV盘(可选)
Removed "/dev/vdd1" from volume group "data_vg"
[root@localhost ~]# pvremove /dev/vdd1 //删除PV盘(可选)
Labels on physical volume "/dev/vdd1" successfully wiped.
[root@localhost ~]# mount /dev/data_vg/data_lv /data/ //重新挂载LVM卷
VG-添加整块盘扩容
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 2.6G 0 rom
nvme0n1 259:0 0 20G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 19G 0 part
├─cslo-root 253:0 0 17G 0 lvm /
└─cslo-swap 253:1 0 2G 0 lvm [SWAP]
nvme0n2 259:3 0 20G 0 disk
└─vg1-lv1 253:2 0 400M 0 lvm /mnt/lv1
nvme0n3 259:4 0 10G 0 disk #这块磁盘是新增的数据盘
[root@localhost ~]# pvcreate /dev/nvme0n3
Physical volume "/dev/nvme0n3" successfully created.
[root@localhost ~]# vgextend vg1 /dev/nvme0n3
Volume group "vg1" successfully extended
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 1 0 wz--n- 29.99g 29.60g
cslo 1 2 0 wz--n- <19.00g 0
[root@localhost ~]# lvextend -L +28G /dev/vg1/lv1
Size of logical volume vg1/lv1 changed from 400.00 MiB (100 extents) to 28.39 GiB (7268 extents).
Logical volume vg1/lv1 successfully resized.
[root@localhost ~]# resize2fs /dev/vg1/lv1 #和上次的对比,功能类似于刷新df列表
resize2fs 1.46.0 (29-Jan-2020)
/dev/vg1/lv1 上的文件系统已被挂载于 /mnt/lv1;需要进行在线调整大小
old_desc_blocks = 4, new_desc_blocks = 228
/dev/vg1/lv1 上的文件系统现在为 29769728 个块(每块 1k)。
[root@localhost ~]# df -Th #查看
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 741M 9.2M 732M 2% /run
tmpfs tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/mapper/cslo-root xfs 17G 2.5G 15G 15% /
tmpfs tmpfs 1.9G 0 1.9G 0% /tmp
/dev/nvme0n1p1 xfs 1014M 204M 811M 21% /boot
/dev/mapper/vg1-lv1 ext4 28G 151M 27G 1% /mnt/lv1
命令汇总
交换分区管理Swap
作用: ‘提升’ 内存的容量,防止OOM(Out Of Memory)
swap大小设置:
推荐:设置交换分区大小为内存的2倍
生产环境下:
大于 4GB 而小于 16GB 内存的系统,最小需要 4GB 交换空间;
大于 16GB 而小于 64GB 内存的系统,最小需要 8GB 交换空间;
大于 64GB 而小于 256GB 内存的系统,最小需要 16GB 交换空间。
free -h #查看swap空间大小
#这里假设/dev/sde是新加入的磁盘设备
fdisk /dev/sde #过程略,给出一个主分区并分配空间即可
partprobe /dev/sde #刷新分区
mkswap /dev/sde1 #格式化
swapon /dev/sde1 #挂载
free -h #验证
#永久禁用swap,删除或注释掉/etc/fstab里的swap设备的挂载命令即可
swapoff -a #关闭swap分区
vi /etc/fstab
#/dev/mapper/centos-swap swap swap defaults 0 0