多塊磁碟合併成卷組並建立LVM,掛載到同一目錄
阿新 • • 發佈:2021-12-02
LVM實現將2塊磁碟總空間“合二為一”並掛載到同一目錄
需求場景
將MySQL主機的2塊18T的資料盤空間全部“合併”後掛載到/mysql_data目錄下,要求檔案系統格式化為xfs;已有關鍵資訊梳理如下:
- 需要掛載的資料盤
- /dev/sdb:18T
- /dev/sdc:18T
- 檔案系統:xfs
- 掛載目錄:/mysql_data
作業系統環境
- OS版本:CentOS 7.5
- lvm版本:lvm2
實現方法
要想實現此需求,可使用LVM邏輯卷管理來做到。
實現步驟
磁碟分割槽--此步非必須
在將磁碟或者磁碟分割槽用作物理卷(PV)之前,需要對其進行初始化工作,即進行磁碟分割槽操作;因磁碟分割槽需求大於2T,所以fdisk
- /dev/sdb
# 新建/dev/sdb的磁碟標籤型別為GPT
[root@MYSQL-SERVER ~]# parted /dev/sdb mklabel gpt
# 將/dev/sdb整個空間分給同一個分割槽
[root@MYSQL-SERVER ~]# parted /dev/sdb mkpart primary 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
Information: You may need to update /etc/fstab.
- /dev/sdc
# 新建/dev/sdc的磁碟標籤型別為GPT
[root@MYSQL-SERVER ~]# parted /dev/sdc mklabel gpt
# 將/dev/sdc整個空間分給同一個分割槽
[root@MYSQL-SERVER ~]# parted /dev/sdc mkpart primary 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
Information: You may need to update /etc/fstab.
建立物理卷
建立物理卷的命令為pvcreate;利用該命令將希望新增到卷組的所有分割槽或磁碟建立為物理卷;
將分割槽/dev/sdb1和/dev/sdc1分割槽建立為物理卷:
[root@MYSQL-SERVER ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
[root@MYSQL-SERVER ~]# pvcreate /dev/sdc1
Physical volume "/dev/sdc1" successfully created.
建立卷組
建立卷組的命令為vgcreate;用此命令將使用pvcreate建立的物理卷建立為一個完整的卷組;
將物理卷/dev/sdb1建立為一個名為vgmysql的卷組:
[root@MYSQL-SERVER ~]# vgcreate vgmysql /dev/sdb1
Volume group "vgmysql" successfully created
新增新的物理捲到卷組中
此步即為將2塊磁碟空間合二為一的關鍵步驟;當系統中新增了磁碟或新建了物理卷,而要將其新增到已有卷組時,就可使用vgextend命令;
將物理卷/dev/sdc1新增到vgmysql卷組中:
[root@MYSQL-SERVER ~]# vgextend vgmysql /dev/sdc1
Volume group "vgmysql" successfully extended
檢視卷組
檢視卷組用vgs:
[root@MYSQL-SERVER ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vgmysql 2 0 0 wz--n- 32.74t 32.74t
vgroot 1 4 0 wz--n- 264.00g 4.00m
從vgs命令的回顯結果來看,卷組vgmysql成功新增,並且其總空間為兩塊物理磁碟的總大小(因換算單位不同,所以不是精確的38T)。
建立邏輯卷
建立邏輯卷的命令為lvcreate;用此命令將在使用vgcreate建立的卷組上建立邏輯卷;
在卷組vgmysql上建立一個名為lvmysql的邏輯卷,起大小為32.7T;
- -n:指定邏輯卷名
- -L:指定邏輯卷大小
[root@MYSQL-SERVER ~]# lvcreate -L 32.7T -n lvmysql vgmysql
Rounding up size to full physical extent 32.70 TiB
Logical volume "lvmysql" created.
格式化邏輯卷
將建立的lvmysql邏輯卷格式化為xfs
[root@MYSQL-SERVER ~]# mkfs -t xfs /dev/vgmysql/lvmysql
meta-data=/dev/vgmysql/lvmysql isize=512 agcount=33, agsize=268435328 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=0, rmapbt=0, reflink=0
data = bsize=4096 blocks=8777839616, imaxpct=5
= sunit=64 swidth=64 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
建立掛載目錄並掛載
- 建立掛載目錄/mysql_data
[root@MYSQL-SERVER ~]# mkdir /mysql_data
- 掛載
[root@MYSQL-SERVER ~]# mount /dev/vgmysql/lvmysql /mysql_data/
- 做開機自動掛載
echo '
/dev/mapper/vgmysql-lvmysql /mysql_data xfs defaults 0 0' >/etc/fstab
檢視是否掛載成功
[root@MYSQL-SERVER ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vgroot-lv_root 40G 1.8G 36G 5% /
devtmpfs 126G 0 126G 0% /dev
tmpfs 126G 0 126G 0% /dev/shm
tmpfs 126G 1.1M 126G 1% /run
tmpfs 126G 0 126G 0% /sys/fs/cgroup
/dev/sda1 976M 197M 713M 22% /boot
/dev/mapper/vgroot-lv_var 59G 197M 56G 1% /var
/dev/mapper/vgroot-lv_home 99G 5.6G 88G 6% /home
tmpfs 26G 0 26G 0% /run/user/0
/dev/mapper/vgmysql-lvmysql 33T 34M 33T 1% /mysql_data
[root@MYSQL-SERVER ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 446.1G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 264G 0 part
│ ├─vgroot-lv_root 253:0 0 40G 0 lvm /
│ ├─vgroot-lv_swap 253:1 0 64G 0 lvm [SWAP]
│ ├─vgroot-lv_var 253:2 0 60G 0 lvm /var
│ └─vgroot-lv_home 253:3 0 100G 0 lvm /home
└─sda3 8:3 0 64M 0 part
sdb 8:16 0 16.4T 0 disk
└─sdb1 8:17 0 16.4T 0 part
└─vgmysql-lvmysql 253:4 0 32.7T 0 lvm /mysql_data
sdc 8:32 0 16.4T 0 disk
└─sdc1 8:33 0 16.4T 0 part
└─vgmysql-lvmysql 253:4 0 32.7T 0 lvm /mysql_data
nvme0n1 259:0 0 1.5T 0 disk
[root@MYSQL-SERVER ~]# blkid
/dev/sda1: UUID="5a350fc9-d3d2-44c7-9574-30bf9a9dd0d3" TYPE="ext4"
/dev/sda2: UUID="Sum0Mm-6ShR-6ajh-cYQO-091c-r7QI-zfbDpm" TYPE="LVM2_member"
/dev/sda3: UUID="2019-05-24-11-39-22-00" LABEL="config-2" TYPE="iso9660"
/dev/mapper/vgroot-lv_root: UUID="df07731a-5e56-4cc3-95ab-b723b5979332" TYPE="ext4"
/dev/mapper/vgroot-lv_swap: UUID="7b5cd64d-d316-430d-8a83-aca89c4708d2" TYPE="swap"
/dev/mapper/vgroot-lv_var: UUID="025cb128-de8f-4bca-8206-5c1601e79715" TYPE="ext4"
/dev/mapper/vgroot-lv_home: UUID="7bd155b6-9200-442a-a61a-32076c0e4b7e" TYPE="ext4"
/dev/sdc1: UUID="rWbWuV-nt59-ba72-VJrL-RTM2-EJJt-VVkhZF" TYPE="LVM2_member"