好程式設計師雲端計算學習路線分享LVM管理詳解
好程式設計師雲端計算學習路線分享
LVM管理
詳解
線上擴容 online
資料遷移 online
建立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/69913892/viewspace-2656144/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師雲端計算學習路線分享軟體包管理程式設計師
- 好程式設計師雲端計算學習路線分享:關於NFS程式設計師NFS
- 好程式設計師雲端計算學習路線分享檢視程式process程式設計師
- 好程式設計師雲端計算學習路線分享雲端計算之檔案查詢程式設計師
- 新手必備 最新雲端計算學習路線圖-好程式設計師雲端計算程式設計師
- 好程式設計師雲端計算學習路線分享檔案打包及壓縮程式設計師
- 好程式設計師Java學習路線分享finalize()方法詳解程式設計師Java
- 好程式設計師web前端學習路線分享Jsonp詳解程式設計師Web前端JSON
- 好程式設計師雲端計算學習路線教程大綱課件:Mount掛載詳解程式設計師
- 好程式設計師雲端計算學習路線之高階許可權程式設計師
- 好程式設計師分享新手學習雲端計算的規劃程式設計師
- 好程式設計師大資料學習路線分享AWK詳解程式設計師大資料
- 雲端計算學習路線教程大綱課件:LVM管理LVM
- 好程式設計師雲端計算教程分享入門雲端計算要精通學習什麼?程式設計師
- 好程式設計師Java學習路線分享SpringCloud程式設計師JavaSpringGCCloud
- 好程式設計師Java學習路線分享Java中的位移運算程式設計師Java
- 好程式設計師雲端計算培訓分享雲端計算中SOA是什麼?程式設計師
- 好程式設計師Java學習路線分享mybatis對映程式設計師JavaMyBatis
- 好程式設計師大資料學習路線分享MAPREDUCE程式設計師大資料
- 好程式設計師大資料學習路線分享SparkSQl程式設計師大資料SparkSQL
- 初學者怎麼入手學習雲端計算?雲端計算學習路線圖分享
- 好程式設計師Java學習路線分享5分鐘瞭解計數排序程式設計師Java排序
- 好程式設計師雲端計算培訓分享學了雲端計算將來就業怎麼樣?程式設計師就業
- 好程式設計師雲端計算培訓分享msyql知識點講解程式設計師
- 好程式設計師雲端計算培訓分享雲端計算中微服務是什麼?程式設計師微服務
- 好程式設計師雲端計算培訓分享雲端計算必會的Docker容器命令程式設計師Docker
- 好程式設計師大資料學習路線分享Hbase指令學習程式設計師大資料
- 好程式設計師Java學習路線分享原生Ajax的使用程式設計師Java
- 好程式設計師Java學習路線分享JVM相關概念程式設計師JavaJVM
- 好程式設計師Java學習路線分享MyBatis之Spring整合程式設計師JavaMyBatisSpring
- 好程式設計師Java學習路線分享Redis快速入門程式設計師JavaRedis
- 好程式設計師Java學習路線分享MyBatis之基本使用程式設計師JavaMyBatis
- 好程式設計師Java學習路線分享maven是什麼程式設計師JavaMaven
- 好程式設計師Python學習路線分享用pprint代替print程式設計師Python
- 好程式設計師Python學習路線分享Beeprint怎麼用程式設計師Python
- 好程式設計師Java學習路線分享SpringMVC之MVC概述程式設計師JavaSpringMVC
- 雲端計算學習路線教程程式碼筆記:Shell程式設計筆記程式設計
- 好程式設計師雲端計算教程分享雲服務和雲端計算的區別有那些程式設計師