背景:
先画一张图方便理解LVM(Logical Volume Manager)
最近服务器新添加三个SSD硬盘,为方便管理,计划通过LVM的方式,最终挂载为一个目录,如下图
- 系统:Ubuntu 18.04
- 第1个SSD是之前使用过的,有分多个分区
- 第2个SSD之前使用过,单独分区
- 第3个SSD新购买,并且是在前2个挂载后再加入
1. 挂载2个硬盘
1.1 确认未挂载硬盘节点
df -h
命令可查看已挂载的硬盘节点
Filesystem Size Used Avail Use% Mounted on
udev 32G 0 32G 0% /dev
tmpfs 6.3G 21M 6.3G 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 196G 12G 174G 7% /
tmpfs 32G 44K 32G 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/sdd 3.6T 388G 3.1T 12% /database
/dev/sdc2 976M 81M 829M 9% /boot
/dev/sdc1 511M 4.4M 507M 1% /boot/efi
/dev/mapper/ubuntu--vg-lv--0 15T 938G 13T 7% /home
以上可看到有挂载了sdc和sdd,因为还看到有VG(Volume group),所以我们再确认一下PV(Physical Volume)情况
sudo pvdisplay
--- Physical volume ---
PV Name /dev/sdc3
VG Name ubuntu-vg
PV Size 14.55 TiB / not usable 2.00 MiB
...
可以看到只是sdd里面分了一部分做了PV而已。
ls /dev/sd*
命令可以确认有哪些硬盘节点
/dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sdb /dev/sdc /dev/sdc1 /dev/sdc2 /dev/sdc3 /dev/sdd
可以看到sda和sdb未挂载,它们就是我们新加入的两个硬盘
1.2 清除硬盘中的分区
sda里有多个分区,不清除则无法整个做成一个PV(Physical Volume)
sudo fdisk /dev/sda
Comand (m for help):d
Partition number (1-3, default 3):
Partition number (1-2, default 2):
Partition number (1-1, default 1):
1.3 创建PV(Physical Volume)
sudo pvcreate /dev/sda
sudo pvcreate /dev/sdb
如果创建失败,则需要格式化一下,因为后续是要跟另外的硬盘组VG(Volume Group),所以这里用msdos还是gpt应该都可以
sudo parted /dev/sda
(parted) mklable msdos
1.4 创建VG(Volume Group)
sudo vgcreate vg-0 /dev/sda
sudo vgextend vg-0 /dev/sdb
vg-0: 新建VG的名字
1.5 创建LV(Logical Volume)
sudo lvcreate -l 100%VG -n lv-0 vg-0
100%VG: 将VG的所有空间都分配给LV
lv-0:新建LV的名字
vg-0: 指定从哪个VG创建LV
1.6 手动挂载验证
sudo mkdir /users
sudo mount -t ext4 /dev/vg-0/lv-0 /users
如果出现异常
mount: /users: wrong fs type, bad option, bad superblock on ...
则尝试对LV格式化一下,再挂载
sudo mkfs -t ext4 /dev/vg-0/lv-0
1.7 配置开机自动挂载
参考/etc/fstab中已有的LV挂载,通过ls -al /dev/disk/by-id/dm-uuid-LVM-*
对比/etc/fstab找到未被配置的dm-uuid-LVM-*
sudo vi /etc/fstab
/dev/disk/by-id/dm-uuid-LVM-mjf1DgsKyGjbxxxxFkVDfaLQEhV5XI1CPXSvgyyyyEreYnn2MvmMw4ve8OWTuLR /users ext4 defaults 0 1
重开机后再用1.1章节的方式确认是否挂载成功
2. 追加1块硬盘
方法与前面大同小异,就不再一一赘述
sudo pvcreate /dev/sdc
sudo vgextend vg-0 /dev/sdc
sudo lvextend -l +100%FREE /dev/vg-0/lv-0
sudo resize2fs /dev/vg-0/lv-0