1. 程式人生 > 實用技巧 >parted建立磁碟分割槽並建立LVM(Linux合併多塊大於2T的磁碟併合併到一個分割槽)

parted建立磁碟分割槽並建立LVM(Linux合併多塊大於2T的磁碟併合併到一個分割槽)

parted建立磁碟分割槽並建立LVM(Linux合併多塊大於2T的磁碟併合併到一個分割槽)

2019-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//普通磁碟轉換成PV
pvs//檢視VG組資訊
vgextend vgdata /dev/vdc1//加入VG組,vgdata要加入VG組名,/dev/sdc1新PV
vgdisplay//檢視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的磁碟到一個分割槽的操作已經完成。