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 ~
 
 
沒有留言:
張貼留言