parted建立磁碟分割槽並建立LVM(Linux合併多塊大於2T的磁碟併合併到一個分割槽)
parted建立磁碟分割槽並建立LVM(Linux合併多塊大於2T的磁碟併合併到一個分割槽)
likemebee2019-01-02 18:28:002619收藏3 分類專欄:linux運維 版權一. 前言
由於本人會負責一些公司運維工作,在伺服器需要掛載大容量磁碟時瞭解到lvm和parted方式,發現網上關於合併大於2T的磁碟方法不是那麼理想,一開始我也不知道,提了一些工單,阿里雲工程師貼的答案有的很坑的,反正我被坑了!!!結合阿里雲工程師給的方法和自己找的一些方法,“另闢蹊徑”成功合併了多塊磁碟到一個分割槽!以下是以大於2T的磁碟為例。
二. 使用parted方式格式化磁碟並且建立LVM
2.1 檢視磁碟情況:fdisk -l
我這裡有4塊5500G(實際大小)的磁碟待格式化到一個分割槽,先格式化磁碟/dev/vdb
使用parted開始分割槽:parted /dev/vdb
GNU Parted 3.1
使用 /dev/vdb
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted)
執行命令mklabel gpt
,將MBR分割槽形式轉為GPT分割槽形式
執行命令 mkpart primary ext4 ,劃分一個採用ext4檔案系統的主分割槽,並設定分割槽的開始位置和結束位置。如果一個數據盤只分一個分割槽,則執行命令mkpart primary ext4 0 -1
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放棄/Cancel? i
(parted)
print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 5906GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 標誌
1 17.4kB 5906GB 5906GB primary
(parted)
使用toggle 更改硬碟型別
toggle 1 lvm
執行命令quit
,退出 parted 操作。
執行命令partprobe
,使系統重讀分割槽表
安裝LVM,及建立
yum -y install lvm2
1)建立PV。pvcreate /dev/vdb1
pvscan
顯示PV資訊,因為只建立一個PV,所以只有一個。pvdisplay
“/dev/vdb1” is a new physical volume of “5.37 TiB”
— NEW Physical volume —
PV Name /dev/vdb1
VG Name
PV Size 5.37 TiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID fFQn0B-u43M-0cHI-NW7C-v04j-GgIc-jANPzh
好了,現在將一塊普通磁碟改變成LVM裡最基本物理磁碟。下面我們來建立VG(磁碟管理組)。
2)建立VG(卷組),來管理PV。vgscan
//因為之前沒有建立過VG,所以掃描沒有顯示。vgcreate vgdata /dev/vdb1
//建立vgdata並將/dev/vdb1加入vgcreate vgdata /dev/vdb1 -s 8M
//-s是指定PE大小,預設是4M (這裡成功的來報道,我的未成功!)vgdisplay
//顯示VG資訊
— Volume group —
VG Name vgdata
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 5.37 TiB
PE Size 4.00 MiB
Total PE 1407999
Alloc PE / Size 0 / 0
Free PE / Size 1407999 / 5.37 TiB
VG UUID ZvCXQI-CgCN-9cal-SHLm-zGsy-2Jpk-LvTI89
再次掃描,發現上面建立的“vgdata”卷組VG了。
3)有了卷組我們就可以建立LV,LV是我們真正用來寫資料的,比如新建一個文字等。
lvscan
//掃描LV,之前沒有建立過LV,什麼也沒顯示lvcreate -L 5500G -n lvData vgdata
//建立LV,-L 指定LV大小為5500G,-n LV名字方便區分,vgdata 加入到vgdata組,上面建立的。lvdisplay
— Logical volume —
LV Path /dev/vgdata/lvData
LV Name lvData
VG Name vgdata
LV UUID sxF9Tc-4RHe-wRXl-AtI5-qYYK-wGMj-QX5KTo
LV Write Access read/write
LV Creation host, time iZj6c6y9bsrhe25j0wi24mZ, 2019-01-02 20:36:28 +0800
LV Status available#
open 0
LV Size 5.37 TiB
Current LE 1407744
Segments 1
Allocation inherit
Read ahead sectors auto
currently set to 8192
Block device 252:0
4)格式化LV及掛載mkfs.ext4 /dev/vgdata/lvData
//格式化lvData為ext4格式。mkdir /LVM
//建立掛載點mount /dev/vgdata/lvData /LVM
//掛載到LVM下df -h
顯示掛載成功
開機自動掛載
echo "/dev/vgdata/lvData /LVM ext4 defaults 0 0" >> /etc/fstab
Linux兩塊磁碟掛載指向一個資料夾LVM
1)擴充套件VG卷組
剛才我們已經把磁碟/dev/vdb
格式化了,現在我們需要格式化磁碟/dev/vdc
前面的操作和上面一樣,先使用parted方式格式化磁碟並且建立LVM,這裡就不跟上面一樣那麼詳細了。parted /dev/vdc
mklabel gpt
mkpart primary ext4 0 -1
toggle 1 lvm
quit
partprobe
pvcreate /dev/vdc1
//普通磁碟轉換成PVpvs
//檢視VG組資訊vgextend vgdata /dev/vdc1
//加入VG組,vgdata要加入VG組名,/dev/sdc1新PVvgdisplay
//檢視VG卷組詳細資訊
— Volume group —
VG Name vgdata
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 10.74 TiB
PE Size 4.00 MiB
Total PE 2815998
Alloc PE / Size 1407744 / 5.37 TiB
Free PE / Size 1408254 / 5.37 TiB
VG UUID ZvCXQI-CgCN-9cal-SHLm-zGsy-2Jpk-LvTI89
擴充套件LV、縮小LV邏輯卷。
lvextend --size +1781G /dev/vgdata/lvData
or
lvextend -L +5500G /dev/vgdata/lvData
- 1
- 2
- 3
LV擴容完系統還沒有識別,需要用resize2fs來更新,系統才能識別到。resize2fs /dev/vgdata/lvData
df -h
至此合併多塊大於2T的磁碟到一個分割槽的操作已經完成。