2014IT鐵人賽-21-LVM
今天練習建立LVM吧
筆記部份:
上次提到傳統的 filesystem 建立方式, 但是如果在規劃分割區的時候沒有辦法確認日後的使用量, 希望日後可以有擴充的彈性?
這個時候就可以規劃 LVM ( Logical Volume Manager ) 來滿足我們的規劃.
LVM 具備線上擴充的特性, 接下來就讓我們好好看看吧.
首先來看看之前切割的 partition id
常見的partition system id
- 82 swap
- 83 linux
- 8e linux LVM
- fd linnx RAID
其實 83 以及 8e 都可以拿來作為 LVM 的分割區 ID, 為了專區專用日後識別, 還是建議定為 8e 吧.
先來解釋名稱
VG(volume group可以想像為虛擬的硬碟)
PV(physical volume 實體磁碟)
LV(Logical volume 可以想像為虛擬的分割區)
預設 每一個 PE/LE 大小為4MB
可以利用 #vgextend VG名稱 實體裝置路徑 來擴充VG容量大小
可以利用 #vgreduce VG名稱 實體裝置路徑 來縮減VG容量大小
可以利用 #yast2 disk 來設定 LVM
建立 LVM 幾個步驟
Step1:
- 建立分割區, system id: 8e
- vgscan ( 掃描是否有 VG )
- pvcreate (建立 PV)
Step2
- vgcreate (建立VG)
- lvcreate (建立LV)
- mke2fs ( 建立file system )
- 建立mount point
- mount
- 修改/etc/fstab
在 舊的 SUSE 使用 ext2online 來針對 LVM2 來讓變更生效, 使用 e2fsadmin 來針對LVM1來讓變更生效.
在 新的SUSE ext2online 指令被包括在 resize2fs 指令內, 所以使用 resize2fs 來讓變更生效.
開始練習吧
Lab:LVM
以文字方式建立LVM
#fdisk -l <觀察可用空間>
#fdisk /dev/sda
m-->Enter <列出可用指令>
p-->Enter <列出partition>
n-->Enter <新增一個分割區>
Enter <起始磁柱, Enter 為續接>
+200M-->Enter <結束磁柱/大小>
n-->Enter
Enter
+200M-->Enter
t-->Enter <轉換分割區system id>
7-->Enter <對象為/dev/sda7>
8e-->Enter <轉換為Linux LVM, id 為 8e>
t-->Enter
8-->Enter
8e-->Enter
p-->Enter <要看到2個LVM>
w-->Enter
#cat /proc/partitions <請觀察資訊>
#partprobe <重新開機使其生效, 或是用partprobe>
#cat /proc/partitions <請觀察資訊>
--------------------------------------------------------------------------------
#vgscan <查看系統內有沒有其他的VG>
#pvscan <查看系統內有沒有其他的PV>
#pvcreate /dev/sda7 <建立PV>
#pvcreate /dev/sda8 <建立PV>
#pvscan <查看系統內有沒有其他的PV>
#vgcreate projects /dev/sda7 <建立VG ,名稱projects 使用/dev/sda7>
#vgscan <請觀察資訊>
#lvscan <請觀察資訊>
#lvcreate -L 80M -n pilot projects
<建立LV, 名稱pilot 大小為80M,從projects切出來, -L 大小 -n 名稱>
#lvdisplay /dev/projects/pilot <列出LV資訊>
#lvcreate -L 50M -n data projects
<建立LV, 名稱data 大小為50M,從projects切出來>
#lvdisplay /dev/projects/data <請注意容量大小,及預設PE的大小>
#lvscan <請觀察資訊>
#pvdisplay /dev/sda7 <觀察PV>
#mke2fs -j /dev/projects/pilot <將其格式化為EXT3, -j jouranl >
#mke2fs -j /dev/projects/data <將其格式化為EXT3, -j jouranl >
#df -h <查看分割區的掛載情形, -h 人類可閱讀的方式>
#mkdir /mnt/pilot
#mkdir /mnt/data
#mount /dev/projects/pilot /mnt/pilot <將LV掛載到建立的目錄>
#mount /dev/projects/data /mnt/data <將LV掛載到建立的目錄>
#df -h <查看分割區的掛載情形>
--------------------------------------------------------------------------------
#vgdisplay projects <觀察projects的資訊>
#pvdisplay /dev/sda7 <觀察PV>
#pvdisplay /dev/sda8 <觀察PV>
#vgextend projects /dev/sda8 <線上擴充projects, 將/dev/sda8加入>
#vgdisplay projects <觀察projects的資訊>
#pvdisplay /dev/sda7 <觀察PV>
#pvdisplay /dev/sda8 <觀察PV>
#pvmove -n /dev/projects/data /dev/sda7 /dev/sda8
<將data從 /dev/sda7移動到 /dev/sda8 , -n 名稱>
#pvdisplay /dev/sda7 <觀察PV>
#pvdisplay /dev/sda8 <觀察PV>
#pvmove -n /dev/projects/pilot /dev/sda7 /dev/sda8
<將pilot從 /dev/sda7移動到 /dev/sda8 , -n 名稱>
#pvdisplay /dev/sda7 <觀察PV>
#pvdisplay /dev/sda8 <觀察PV>
#vgreduce projects /dev/sda7 <線上縮小projects, 將/dev/sda7移除>
#vgdisplay projects <觀察projects>
-------------------------------------------------------------------------------
#vgextend projects /dev/sda7 <線上擴充projects, 將/dev/sda7加入>
#vgdisplay projects <觀察projects>
#lvcreate -L 80M -i 2 -n striplv projects <建立等量LV , -i 使用兩個PV>
#lvdisplay -m /dev/projects/striplv <觀察LV>
#pvdisplay /dev/sda7 <觀察PV>
#pvdisplay /dev/sda8 <觀察PV>
#lvdisplay /dev/projects/pilot <觀察LV>
#lvextend -L +20M /dev/projects/pilot <線上擴充LV>
#lvdisplay /dev/projects/pilot <觀察LV>
#df -h <查看分割區的掛載情形, -h 人類可閱讀的方式>
#resize2fs /dev/projects/pilot <使其生效>
#df -h <查看分割區的掛載情形, -h 人類可閱讀的方式>
以圖形YAST方式
#yast2 disk <建立兩個大小為200M,系統ID為8E的分割區>
#yast2 disk <設定LVM相關設定>
Fun with Day 21 ~
沒有留言:
張貼留言