雲端計算學習路線教程大綱課件:LVM管理

千鋒雲端計算發表於2019-09-17

線上擴容 online

資料遷移 online

雲端計算學習路線教程大綱課件:LVM管理

====================================================================================

建立LVM LVM叫邏輯卷管理

VG擴充套件/縮小

LV擴容

檔案系統擴容 線上擴容及在生產中 300G+900G硬碟 做單盤RAID0

基本分割槽(MBR|GPT) ----> Filesystem ----> mount

邏輯卷LVM ----> Filesystem ----> mount

VG叫做卷組

extents 叫做擴充套件塊

PE: Physical extent 物理擴充套件 4M 8M 16M 32M 64M 建立VG時指定 -s 8M

LE: Logical extent 邏輯擴充套件

新浪實際工作中

啟動VMware環境下的Linux作業系統,新增新分割槽,需要root賬號身份。

3.1 【fdisk -l】 最大分割槽為/dev/sda3,說明新建立的分割槽將會是sda4

3.2 輸入【fdisk /dev/sda】

3.2.1命令列提示下輸入【m】

3.2.2輸入命令【n】新增新分割槽。

3.2.3輸入命令【p】建立主分割槽。

3.2.4輸入【回車】,選擇預設大小,這樣不浪費空間

3.2.5輸入【回車】,選擇預設的start cylinder。

3.2.6輸入【w】,保持修改

3.3 輸入【reboot】 重啟linux,必須reboot,否則/dev/sda4無法格式化。

3.4 這時在/dev/目錄下,才能看到了新的分割槽比如/dev/sda4

3.5 【mkfs.ext2 /dev/sda4】格式化

3.6 在根目錄下建立disk4目錄

3.7 【mount /dev/sda4 /disk4/】將分割槽mount到/disk4/上

3.8 在vim修改/etc/fstab檔案,加入【/dev/sda4 /disk4 ext2 defaults 0 0】一行,並儲存,實現開機自動mount。

注意 帶有快照虛擬機器需要安裝軟體後新增硬碟

一、建立LVM

0. 準備物理磁碟

可以是: /dev/sdb /dev/sdc1

[root@server0 ~]# ll /dev/vd{c,d,e}

brw-rw----. 1 root disk 253, 32 Jun 6 17:38 /dev/vdc

brw-rw----. 1 root disk 253, 48 Jun 6 17:38 /dev/vdd

brw-rw----. 1 root disk 253, 64 Jun 6 17:38 /dev/vde

1. pv

[root@server0 ~]# pvcreate /dev/vdd

Physical volume "/dev/vdd" successfully created

[root@server0 ~]# pvscan

PV /dev/vdd lvm2 [2.00 GiB]

Total: 1 [2.00 GiB] / in use: 0 [0 ] / in no VG: 1 [2.00 GiB]

[root@server0 ~]# pvs

PV VG Fmt Attr PSize PFree

/dev/vdd lvm2 a-- 2.00g 2.00g

2. vg

[root@server0 ~]# vgcreate vg1 /dev/vdd

Volume group "vg1" successfully created

[root@server0 ~]# vgs

VG #PV #LV #SN Attr VSize VFree

vg1 1 0 0 wz--n- 2.00g 2.00g

[root@server0 ~]# vgscan

Reading all physical volumes. This may take a while...

Found volume group "vg1" using metadata type lvm2

[root@server0 ~]# vgdisplay vgdisplay datevg

--- Volume group ---

VG Name vg1

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 2.00 GiB

PE Size 4.00 MiB

Total PE 511

Alloc PE / Size 0 / 0

Free PE / Size 511 / 2.00 GiB

VG UUID 7E4tlj-l0a2-ph52-OytH-eaq7-58K6-2S4n8V

3. lv

[root@server0 ~]# lvcreate -l 10 -n lv1 vg1

[root@server0 ~]# lvcreate -L 200M -n lv2 vg1

[root@server0 ~]# lvscan

ACTIVE '/dev/vg1/lv1' [640.00 MiB] inherit

ACTIVE '/dev/vg1/lv2' [256.00 MiB] inherit

4. 建立檔案系統並掛載

[root@server0 ~]# mkfs.xfs /dev/vg1/lv1

[root@server0 ~]# mkfs.ext4 /dev/vg1/lv2

[root@server0 ~]# mkdir /mnt/lv1 /mnt/lv2

[root@server0 ~]# vim /etc/fstab

/dev/vg1/lv1 /mnt/lv1 xfs defaults 0 0

/dev/vg1/lv2 /mnt/lv2 ext4 defaults 0 0

[root@server0 ~]# mount -a

[root@server0 ~]# df

Filesystem 1K-blocks Used Available Use% Mounted on

/dev/mapper/vg1-lv1 651948 32928 619020 6% /mnt/lv1

/dev/mapper/vg1-lv2 245671 2062 226406 1% /mnt/lv2

二、VG管理

==擴大VG vgextend==

1. pv

[root@server0 ~]# pvcreate /dev/vde

2. vgextend

[root@server0 ~]# vgextend vg1 /dev/vde

Volume group "vg1" successfully extended

[root@server0 ~]# vgs

VG #PV #LV #SN Attr VSize VFree

vg1 2 2 0 wz--n- 3.99g 3.76g

==減小VG vgreduce==

通常先做資料的遷移

1.檢視當前的VG中PV的使用情況

[root@server0 ~]# pvs

PV VG Fmt Attr PSize PFree

/dev/vdd vg1 lvm2 a-- 2.00g 1.76g

/dev/vde vg1 lvm2 a-- 2.00g 2.00g

2. pvmove資料到其它PV

[root@server0 ~]# pvmove /dev/vdd

/dev/vdd: Moved: 16.7%

/dev/vdd: Moved: 100.0%

[root@server0 ~]# pvs

PV VG Fmt Attr PSize PFree

/dev/vdd vg1 lvm2 a-- 2.00g 2.00g

/dev/vde vg1 lvm2 a-- 2.00g 1.76g

3.vgreduce VG

[root@server0 ~]# vgreduce vg1 /dev/vdd

Removed "/dev/vdd" from volume group "vg1"

[root@server0 ~]# vgs

VG #PV #LV #SN Attr VSize VFree

vg1 1 2 0 wz--n- 2.00g 1.76g

三、LV擴容

1. lv擴容

[root@server0 ~]# vgs

VG #PV #LV #SN Attr VSize VFree

vg1 2 2 0 wz--n- 1.88g 1.00g

[root@server0 ~]# lvextend -L 800M /dev/vg1/lv1

[root@server0 ~]# lvextend -L +800M /dev/vg1/lv1

[root@server0 ~]# lvextend -l 15 /dev/vg1/lv1

[root@server0 ~]# lvextend -l +15 /dev/vg1/lv1

=======================================

+50%FREE

=======================================

[root@server0 ~]# lvscan

ACTIVE '/dev/vg1/lv1' [768.00 MiB] inherit

ACTIVE '/dev/vg1/lv2' [512.00 MiB] inherit

2. FS擴容

[root@server0 ~]# df -Th

/dev/mapper/vg1-lv1 xfs 637M 67M 570M 11% /mnt/lv1

/dev/mapper/vg1-lv2 ext4 240M 32M 192M 15% /mnt/lv2

a. xfs

[root@server0 ~]# xfs_growfs /dev/vg1/lv1

b. ext2/3/4

[root@server0 ~]# resize2fs /dev/vg1/lv2

[root@server0 ~]# df -Th

Filesystem Type Size Used Avail Use% Mounted on

/dev/mapper/vg1-lv1 xfs 765M 67M 698M 9% /mnt/lv1

/dev/mapper/vg1-lv2 ext4 488M 32M 429M 7% /mnt/lv2

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1.建立pv

[root@localhost ~]# pvcreate /dev/sda5 /dev/sda6

[root@localhost ~]# pvdisplay

[root@localhost ~]# pvs

2.建立vg

[root@localhost ~]# vgcreate vg0 /dev/sda5 /dev/sda6

[root@localhost ~]# vgdisplay

[root@localhost ~]# vgs

3.建立lv

[root@localhost ~]# lvcreate -L 250M -n /dev/vg0/lv0 vg0

[root@localhost ~]# lvdisplay

[root@localhost ~]# lvs

注意:

pv不能跨越vg

lv不能跨越vg

系統中可以建立多個vg

vg中可以建立多個lv

刪除lvm

1.umount /dev/vg0/lv0

2.[root@localhost ~]# lvremove /dev/vg0/lv0

3.[root@localhost ~]# vgremove vg0

4.[root@localhost ~]# pvremove /dev/sda{5,6,8}

企業中的應用 如果根分割槽滿了 怎麼做??

df -h 檢視

pvcreate /dev/sdb

vgs

vgextend centos /dev/sdb

lvscan

lvextend -L +5G /dev/centos/root

df -T

xfs_growfs /dev/centos/root

df -Th

lvextend -L +5G /dev/centos/root

xfs_growfs /dev/centos/root

df -h

準備3塊硬碟 可不分割槽 思路---PV----VG---LV

lsblk

##建立PV

pvcreate /dev/sdb

##檢視當前PV

pvscan

pvs

vgcreate datavg /dev/sdb (datavg是起的名字)

vgscan

pvscan ##得到回顯 pv/dev/sdb 加入到了VG datevg 容量XXfree

#建立LV

lvcreate -L 200M -n lv1 datavg -L(指定lv的大小) 指定為200m lv1為起的名字 從datevg裡建立

lvcreate -L 300M -n lv2 datavg

lvscan ## 得到回顯 /dev/datevg/lv1 200m

/dev/datevg/lv2 300m

這時候看lsblk 去看看/dev/sdb????

##格式化,建立檔案系統掛載

mkfs.xfs /dev/datevg/lv1

mkfs.ext4 /dev/datevg/lv2

mkdir /mnt/lv1 /mnt/lv2

掛載

mount /dev/datevg/lv1 /mnt/lv1

mount /dev/datevg/lv2 /mnt/lv2

mount -a

df -h (df-Th) 加上TYPE 型別

LVM完成

#########################################################

擴大VG

vgs

pvcreate /dev/sdc 先變成PV

vgextend datevg /dev/sdc 檢視pvscan

vgs free變大 實驗成功

繼續擴容

pvcreate /dev/sdd

vgextend datevg /dev/sdd

繼續檢視 VFree 繼續變大

###############################################################

減小VG 資料遷移 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!

pvs 檢視

pvmove /dev/sdb /dev/sdc 將sdb資料仍到sdc

vgreduce datevg /dev/sdb

pvscan

檢視變化。資料遷移完成

注意:

pv不能跨越vg

lv不能跨越vg

系統中可以建立多個vg

vg中可以建立多個lv


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2657251/,如需轉載,請註明出處,否則將追究法律責任。

相關文章