LVM 常用命令。
添加新磁盘
查找新增磁盘文件 /dev/sdb
列出系统当前的块设备
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 500G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1G 0 part /boot
├─sda3 8:3 0 99G 0 part
│ ├─vg00-rootvol 253:0 0 210G 0 lvm /
│ ├─vg00-swapvol 253:1 0 2G 0 lvm [SWAP]
│ ├─vg00-homevol 253:2 0 50.3G 0 lvm /home
│ ├─vg00-tmpvol 253:3 0 20.5G 0 lvm /tmp
│ ├─vg00-auditvol 253:4 0 256M 0 lvm /var/log/audit
│ ├─vg00-crashvol 253:5 0 1.9G 0 lvm /var/crash
│ ├─vg00-varvol 253:6 0 102G 0 lvm /var
│ └─vg00-roothomevol 253:7 0 55G 0 lvm
└─sda4 8:4 0 400G 0 part
├─vg00-rootvol 253:0 0 210G 0 lvm /
├─vg00-homevol 253:2 0 50.3G 0 lvm /home
├─vg00-tmpvol 253:3 0 20.5G 0 lvm /tmp
├─vg00-varvol 253:6 0 102G 0 lvm /var
└─vg00-roothomevol 253:7 0 55G 0 lvm
sdb 8:16 0 300G 0 disk
sr0 11:0 1 1024M 0 rom
或者使用 fdisk -l
命令
sudo fdisk -l
对新磁盘 /dev/sdb
进行分区
使用 fdisk /dev/sdb
命令进入交互模式
$ sudo fdisk /dev/sdb
Command (m for help):
-
键入
n
创建新分区 -
键入
p
选择分区类型为主分区 -
键入
1
选择第一个主分区 -
最后选择起始扇区和结束扇区
起始扇区选择默认值,直接回车
结束扇区可以使用+size{K,M,G,T,P}
格式,比如+10G
会分配 10GB 空间到第一个主分区。如果将整个磁盘空间分配给第一个主分区,则直接敲回车。
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-41943039, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039):
Created a new partition 1 of type 'Linux' and of size 20 GiB.
-
键入
t
选择分区类型 -
键入
1
选择第一个分区 -
键入
8e
修改分区类型为Linux LVM
Command (m for help): t
Selected partition 1
Partition type (type L to list all types): 8e
Changed type of partition 'Linux' to 'Linux LVM'.
键入 p
命令打印当前磁盘设备的分区表
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:322.1 GB, 322122547200 字节,629145600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xf143983b
设备 Boot Start End Blocks Id System
/dev/sdb1 * 2048 629145599 314571776 8e Linux LVM
最后键入 w
保存并退出,或者键入 q
不保存退出。
使用 LVM 管理新磁盘
物理卷操作 (Physical Volume)
查看物理卷
sudo pvs
sudo pvdisplay
将分区 /dev/sdb1
初始化为物理卷
sudo pvcreate /dev/sdb1
删除物理卷
sudo pvremove -y /dev/sdb1
卷组操作 (Volume Group)
查看卷组
sudo vgs
sudo vgdisplay
创建卷组 vg00
并使用物理卷 /dev/sda1
和 /dev/sda2
sudo vgcreate vg00 /dev/sda1 /dev/sda2
添加物理卷 /dev/sdb1
到卷组 vg00
sudo vgextend vg00 /dev/sdb1
从卷组 vg00
删除物理卷 /dev/sdb1
sudo vgreduce vg00 /dev/sdb1
重命名卷组 vg
为 vg00
sudo vgrename vg vg00
sudo vgrename /dev/vg /dev/vg00
删除卷组 vg00
sudo vgremove vg00
逻辑卷操作 (Logical Volume)
查看逻辑卷
sudo lvs
sudo lvdisplay
创建逻辑卷,大小 100G
,名称为 datavol
,使用卷组 vg00
sudo lvcreate -L 100G -n datavol vg00
创建逻辑卷,大小为卷组所有可用空间,名称为 datavol
,使用卷组 vg00
sudo lvcreate -l 100%FREE -n datavol vg00
扩展逻辑卷大小,新增 50G 空间
sudo lvextend -L +50G vg00/datavol
# 或
sudo lvextend -L +50G /dev/vg00/datavol
扩展逻辑卷大小,将所在卷组的剩余空间全部添加到逻辑卷
sudo lvextend -l +100%FREE /dev/vg00/datavol
减少逻辑卷大小,减少 10G 空间。注意:XFS 文件系统不支持空间缩减,在 XFS 文件系统上使此命令会导致逻辑卷损毁。
sudo lvreduce -L -10G vg00/datavol
重命名卷组 vg00
上的逻辑卷 data
到 datavol
sudo lvrename vg00 data datavol
删除卷组 vg00
上的逻辑卷 datavol
sudo lvremove vg00/datavol
# Remove all logical volumes in volume group vg00
sudo lvremove vg00
创建逻辑卷后,需要格式化逻辑卷,创建文件系统
# xfs file system
sudo mkfs.xfs /dev/vg00/datavol
# ext4 file system
sudo mkfs.ext4 /dev/vg00/datavol
增加或减少逻辑卷大小后,需要调整文件系统大小
使用 mount
命令查看挂载的文件系统
mount -l
mount -l -t ext4
mount -l -t xfs
注意:此命令用于 EXT3/4 文件系统,但不适用于 XFS 文件系统.
sudo resize2fs /dev/vg00/datavol
增加 XFS 文件系统的逻辑卷大小后,可以使用以下命令调整文件系统
sudo xfs_growfs /dev/vg00/datavol
将逻辑卷 datavol
挂载到 /data
sudo mkdir -p /data
sudo mount /dev/vg00/datavol /data
写入 /etc/fstab
文件,确保开机自动挂载
# 使用 vi 编辑
$ sudo vi /etc/fstab
/dev/vg00/datavol /data xfs defaults 0 0
# or
/dev/mapper/vg00-datavol /data xfs defaults 0 0
# 使用 echo 添加
$ sudo echo '/dev/vg00/datavol /data xfs defaults 0 0' >> /etc/fstab
查看主机文件系统信息
$ df -h /data
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg00-datavol 120G 34M 120G 1% /data
查看文件系统是 XFS 的挂载点
mount -t xfs