星期一, 10月 06, 2014

2014IT鐵人賽-21-LVM

2014IT鐵人賽-21-LVM


今天一樣使用 EasyCloud  雲端簡單龍的帳戶, 那就登入 https://gemini.nchc.org.tw/ 來開始練習openSUSE 基礎指令吧.


今天練習建立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 ~

沒有留言: