1. 程式人生 > >Centos7 使用LVM進行新加磁碟管理

Centos7 使用LVM進行新加磁碟管理

centos7使用LVM管理一塊新的磁碟

 

注意!文中凡是帶#的都是命令標誌。

 

一些重要概念:

LV(Logical Volume)- 邏輯卷,

VG(Volumne Group)- 卷組,

PV(Physical Volume)- 物理卷,

的關係圖

 

PE(Physical Extent)- 物理塊

LVM 預設使用4MB的PE區塊,而LVM的LV最多僅能含有65534個PE (lvm1 的格式),因此預設的LVM的LV最大容量為4M*65534/(1024M/G)=256G。PE是整個LVM 最小的儲存區塊,也就是說,其實我們的資料都是由寫入PE 來處理的。簡單的說,這個PE 就有點像檔案系統裡面的block 大小。所以調整PE 會影響到LVM 的最大容量!p在 CentOS 6.x 以後,由於直接使用 lvm2 的各項格式功能,因此這個限制已經不存在了。

 

 

 

簡單指令:

1. pv相關:pvdisplay、pvs、pvscan,pvcreate

2. vg相關:vgdisplay、vgs、vgscan,vgcreate

3. lv相關:lvdisplay、lvs、lvscan,lvcreate

 

# fdisk -l 檢視磁碟資訊

/dev/sdb是我們需要管理的新的磁碟。

虛擬機器中可以通過設定來新增新的磁碟,新增後重啟後使用# fdisk -l 就會看到有一塊新的磁碟。

 

1、建立系統分割槽

選擇/dev/sdb建立分割槽;

將整個sdb磁碟劃分為一個sdb1分割槽,格式為Linux LVM;

# fdisk /dev/sdb

進入磁碟後然後按照如下操作為磁碟劃分分割槽:

Command (m for help): n (建立新分割槽)

Partition type:

p primary (0 primary, 0 extended, 4 free)

e extended

Select (default p): p (選擇建立主分割槽,e是擴充套件分割槽)

Partition number (1-4, default 1): 1 (分割槽號選擇1)

First sector (2048-31457279, default 2048):

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-31457279, default 31457279):

Using default value 31457279

Partition 1 of type Linux and of size 15 GiB is set

 

Command (m for help): p (檢視已經建立的分割槽)

Disk /dev/sdb: 16.1 GB, 16106127360 bytes, 31457280 sectors

Device Boot Start End Blocks Id System

/dev/sdb1 2048 31457279 15727616 83 Linux (系統預設為83,即:Linux)

 

Command (m for help): t (修改分割槽格式)

Selected partition 1

Hex code (type L to list all codes): 8e (8e為Linux LVM格式)

Changed type of partition 'Linux' to 'Linux LVM'

 

Command (m for help): p (檢視已經建立的分割槽)

Disk /dev/sdb: 16.1 GB, 16106127360 bytes, 31457280 sectors

Device Boot Start End Blocks Id System

/dev/sdb1 2048 31457279 15727616 8e Linux LVM

 

Command (m for help): w (儲存)

 

2、建立PV

# pvcreate /dev/sdb1 (建立PV根據磁碟的分割槽)

# pvdisplay                (檢視所有的pv詳情)

# pvs

    PV     VG Fmt Attr PSize PFree

    /dev/sdb1     lvm2 --- 10.00g 10.00g

 

# pvscan

PV /dev/sdb1 lvm2 [10.00 GiB]

 

3、建立VG

(1)根據某個或幾個PV建立VG

# vgcreate vg_01 /dev/sdb1 -s 64M(指定PE大小,可以不指定)

    # vgcreate vg_01 /dev/sdb1 /dev/sdb1

(2)根據某個磁碟建立VG

    # vgcreate vg_01 /dev/sdb1 /dev/sdb

(3)重新命名VG

# vgrename 舊名 新名

4、建立LV-->格式化LV-->掛載LV

(1)根據VG建立LV,從VG中取出8g

# lvcreate -L 8G -n lv_01 vg_01

(2) 根據VG建立LV,從VG中取出全部free部分

# lvcreate -l 100%FREE -n lv_01 vg_01

(3)使用xfs檔案系統對LV進行格式化

    # mkfs.xfs /dev/vg_01/lv_01

(4)掛載

    # mkdir /sinotrans-cms

# mount /dev/vg_01/lv_01 /sinotrans-cms

# df -Th

開機自動掛載,編輯vim /etc/fstab,在最後加入以下內容

/dev/vg_01/lv_01 /sinotrans-cms xfs defaults 0 0

 

第一列:要掛載的磁碟

第二列:掛載點

第三列:檔案型別

第四列:掛載選項,詳細參考man mount. 下面列出一些常用的選項:

auto: 系統自動掛載,fstab預設就是這個選項

ro: read-only

rw: read-write

defaults: rw, suid, dev, exec, auto, nouser, and async.

第五列:為dump選項,設定是否讓備份程式dump備份檔案系統,0為忽略,1為備份。

第六列:為fsck選項,告訴fsck程式以什麼順序檢查檔案系統,0為忽略。

 

5、VG擴容

首先需要有空閒的PV、空閒的磁碟或空閒的分割槽

(1)建立PV

 

(2)擴容VG

# vgextend vg_01 磁碟/PV

# vgextend vg_01 /dev/sdc1 (PV方式)

# vgextend vg_01 /dev/sdc (磁碟方式)

6、LV擴容

# lvextend -L +3G /dev/vg_01/lv_01

使用vgs和lvs檢視會看到vg_01的free減少了3g,lv_01增加了3g

 

# resize2fs /dev/vg_01/lv_01

執行此命令後目錄容量才會改變

 

 

Java學習筆記:https://gitee.com/wenlongup/JavaStudyNotes

Java技術資料分享群:684474011