跳到主要內容

附錄 - LPIC參考資料 - Linux Quick Reference Guide - 6th ed. - Daniele Raffo - LVM/LVM commands

     以下翻譯整理 Daniele Raffo 的 Linux Quick Reference Guide,期望對考LPIC level 1 跟 LPIC level 2 的讀者有幫助。該文翻譯已取得Daniele Raffo同意。專有名詞盡量使用國家教育研究院,雙語詞彙網對照http://terms.naer.edu.tw/detail/461156/

#LVM / LVM commands
 邏輯卷冊管理(Logical Volume Management, 以下簡稱LVM)源於一抽象功能,主要讓實體儲存與邏輯儲存之間,可以隨心所欲變更分區的檔案系統,LVM使用Linux裝置映射之特性(/dev/mapper)。

實體卷冊,包含磁碟機、分區與磁碟陣列皆可以被納入卷冊組(Volume Group)。一個卷冊組,可被分成固定量的小塊,稱之為實體延伸區(Physical Extents),且一對一的對應到該邏輯範圍。邏輯範圍可組成邏輯卷冊(Logical Volume),讓Linux檔案系統建立在其上。 

如何建立邏輯磁碟容量
1. 在機器上建立新實體或虛擬磁碟(以下爲指令,#後方爲說明)

2. lsblk                                    
#確認已辨認之磁碟,如 /dev/sda

3. fdisk /dev/sda                      
#產生新分區(區形態爲0x8E = Linux LVM)
此步驟非必要做,怕其他作業系統無法辨認LVM而將LVM分區視為無分區的空磁碟。

4. pvcreate /dev/sda1                          
#初始化實體卷冊來讓LVM使用

5. vgcreate -s 8M myvg0 /dev/sda1 
#建立卷冊組,並定義物理延伸區大小爲8Mb(預設爲4Mb)

or vgextend myvg0 /dev/sda1
#加入一個可辨認的的實體卷冊到已存在的卷冊組

6. lvcreate -L 1024M -n mylv myvg0
#建立邏輯卷冊

7. mkfs -t ext3 /dev/myvg0/mylv
#在邏輯卷冊上建立檔案系統並格式化

8. mount /dev/myvg0/mylv /mnt/mystuff
#掛載邏輯卷冊至 /mnt/mystuff 以準備使用

如何增加邏輯卷冊容量(需要底層檔案系統允許)
1. 增加一個新的實體或虛擬磁碟到機器內,以提供更多的磁碟使用空間

2. fdisk /dev/sdc
#分區新磁碟

3. pvcreate /dev/sdc
# 初始化實體卷冊

4. vgextend myvg0 /dev/sdc
# 加入一個實體卷冊到已存在的卷冊組

5. lvextend -L 2048M /dev/myvg0/mylv
# 延伸邏輯卷冊大小到2GB
or 
   lvresize -L+2048M /dev/myvg0/mylv   
or
   lvresize -L+100%FREE /dev/myvg/mylv
# 或延伸邏輯卷冊大小到全部的閒置空間

6. resize2fs /dev/myvg0/mylv
# 延伸原有的檔案系統

如何減少邏輯卷冊容量(需要底層檔案系統允許)
1. resize2fs /dev/myvg0/mylv 900M
#縮小檔案系統大小至900Mb

2. lvreduce -L 900M /dev/myvg0/mylv
or
   lvresize -L 900M /dev/myvg0/mylv
#縮小邏輯卷冊至900Mb


如何快照與備份邏輯卷冊(需要底層檔案系統允許)
1. lvcreate -s -L 1024M -n snapshot0 /dev/myvg0/mylv
# 建立一如邏輯卷冊的快照

2. tar cvzf snapshot0.tar.gz snapshot0 
# 找您最熟悉的備份工具來備份

3. lvremove /dev/mvvg0/snapshot0
# 刪除快照

 #LVM commands

 PV commands 
pvs                回報實體卷冊資訊
pvscan          掃描使用實體卷冊之所有磁碟
pvdisplay      顯示實體卷冊屬性
pvck              檢查實體卷冊之元數據(metadata)
pvcreate       使用一個磁碟或分區來初始化LVM
pvchange     改變實體卷冊屬性
pvremove     刪除一個實體卷冊
pvresize        在LVM下改變磁碟或分區大小
pvmove         移動在物理卷冊內的邏輯延伸區到卷冊組內之空物理延伸區,再讓
                       原物理卷冊離線。

 VG commands
vgs               回報卷冊組資訊
vgscan         掃描使用卷冊組之所有磁碟
vgdisplay     顯示卷冊組屬性
vgck             檢查卷冊組元數據
vgcreate      使用已有的實體卷冊來建立卷冊組
vgchange     改變卷冊組屬性
vgremove     移除卷冊組
vgextend      增加一個實體卷冊至卷冊組
vgreduce      從卷冊組移除一個實體卷冊


 LV commands 
lvs                     回報邏輯卷冊資訊
lvscan              掃描使用邏輯卷冊的所有磁碟
lvdisplay          顯示邏輯卷冊
lvcreate           在卷冊組內建立邏輯卷冊
lvchange         改變邏輯卷冊屬性
lvremove         移除邏輯卷冊
lvextend          增大邏輯卷冊空間
lvreduce          減少邏輯卷冊空間
lvresize            調整邏輯卷冊空間

 LVM global commands
lvmdiskscan      掃描系統內可以使用LVM的磁碟與分區
dmsetup command    使用低階LVM操作

/dev/mapper/vgname-lvname  邏輯卷冊在檔案系統的映射檔路徑
/dev/vgname/lvname




留言

這個網誌中的熱門文章

Linux 操作不求人系列 - 貳章之貳 - Shell Script 程式設計(II) - BASH 與 TCSH / CSH

     在上章,我們介紹很多bash shell指令的應用方式,並讓它們變成 script,在這章此節,我們要承襲上節,繼續討論 bash shell script 的其它程式設計概念,與讓程式可重複使用的方法,就是利用函式(function)。      首先,我們來創作一個判斷是否為閏年的函數,script的名稱就取為 check_year.sh ,請自行將其設為可執行。程式碼如圖2-6,為了解說方便,筆者利用指令 nl check_year.sh 將程式碼包含行數印出(圖2-7),其他除顏色外,都與圖2-6同。以下 export 宣告環境變數,自訂變數無需加宣告保留字。(2021.10.07更正export說明,以下自訂變數宣告請直接去除export開頭) (圖2-6) (圖2-7)        圖2-7第2-6行,與之前的範例相似,皆有防堵參數個數輸入錯誤的判斷。第7-11行為接著判斷輸入的年分,是否為真的正整數,也就是大於零的數字。其中第7行可解釋為,利用正規表示式搜尋 $2 字串值得頭至尾部的字元,皆由 0-9 組成,若有,則為真(True)會進入 if 內的陳述執行, 但我們想要的,應該是僅要字串其中一字元為非正整數,便進入if 內的警告並跳出 。故,筆者在判斷式前多加一個 ! ,代表著當字元完全是正整數時,就不要執行  if  內陳述,而直接往第12行執行,但若其中有一個字元為非正整數,則會進入 if 內印出錯誤訊息並跳出 Script 。在此例使用者輸入非正整數等字串(如:12ab、cde、1a1b),便會出現錯誤訊息"Error Value",並跳出 Script 。而第8行的判斷式,效果跟第7行相同,但只能在BASH 3.0才能支援,故筆者故意保留,讓讀者可以學到另一種表示方式。         第12-28行,為宣告一個函式 leapyr () ,在 BASH Script內若要使用含式,必須在使用之前先建立函式的功能,如函式建立在第12-28行,則若要呼叫使用(Call)函式,則必須在第29行之後才能呼叫,並且可重複呼叫。第13行為定義函式呼叫時,一定會有一個外部參數, 此外部參數非該 Script 的外部參數 ,而是由程式撰寫者給入,故在此無設定防呆判斷。第14-

Linux操作不求人- 肆章之壹 - 伺服器架設(I) - SSH(SFTP、SCP)、FTP伺服器與遠端連線

@ ssh, sftp      通常安裝好 CentOS6_x64 作業系統後,sshd, ssh daemon 的服務功能是預設開啟的,如筆者的前面篇章所述,預設的 iptables 防火牆設定,亦是開啟讓 ssh 的連線是可通過的,不僅可以連出,也可以被連入。若要確認是否有安裝 sshd 套件以及在啟動時的 runlevel 2 3 5 是否有被載入,可以使用以下指令搜尋: $   rpm  -qa  |   grep  openssh     #  ssh 與 sshd 連線服務皆由 openssh 應用軟體提供。 或使用以下 $   rpm  -qa  |   grep  ssh         #  比用關鍵字 openssh 搜尋更模糊,故符合的條件更多。      如圖4-1可以查詢到有關於 openssh-client 與 openssh-server 的套件, openssh-server 便是提供連入服務的軟體,openssh-client 為提供可以連出的工具。若無以上套件,則使用 yum install openssh ,則可下載安裝。 (圖4-1) 再接著輸入以下指令查詢到 sshd 這個服務,是否有再開機程序內載入,如圖4-2 $ chkconfig | grep ssh   # 查詢 sshd 是否有於 開機 runlevel 啟動 再利用以下指令,來查詢是否防火牆有允許連線 $ iptables  -L  |  grep ssh   # 出現如圖4-2 允許通過之條件 (圖4-2)      接下來,我們要先來調整 sshd 的設定檔,利用 vim  /etc/sshd/sshd_conf ,如圖4-3-1與4-3-2。因為設定檔參數很多,筆者為方便說明,將 /etc/sshd/sshd_conf 檔案內容分成兩張圖。 (圖4-3-1)

Linux操作不求人 - 伍章之陸 - Intel PXE 與利用 tftp + anaconda kickstart來自動部署系統

     現代的個人電腦與筆電爲了節能省碳,往往皆省略了光碟機的設置。雖然說 USB隨身碟亦可應用於安裝作業系統,但若遇到機房的大量機器需安裝之問題,亦不適合此種用光碟片或隨身碟逐臺安裝的方式,或是需準備多片光碟或隨身碟。故爲了大量安裝與部屬 Linux作業系統的機器,我們便可透過具有PXE功能之網路卡(https://en.wikipedia.org/wiki/Preboot_Execution_Environment),其所具備的網路開機的能力,來作透過網路方式來安裝與大量部署 CentOS Linux作業系統。其原理 wikipedia  的PXE說明,都解釋得很清楚,筆者不需要再 " 掉書包 ",在開發者大神面前班門弄斧,我們就直接來做做看。      首先,我們一樣透過 yum來安裝所需的 tftp伺服器軟體(http://www.jounin.net/tftpd32.html),利用PXE支援 tftp 透過 udp 埠號 69連線,來提供檔案的能力,給利用 PXE開機後安裝作業系統的機器,圖5-60   (圖5-60) 接著修改 tftp 設定檔 /etc/xinetd.d/tftp,如圖5-61,請記得 disable  要改為 no (圖5-61)      若要修改 server_args 參數為自訂的 tftp root 路徑,記得要變更 SELinux 的權限設定,如要改為/tftpboot,則使用指令 chcon  來調整,如以下: $ mkdir /tftpboot $ chcon  --reference /var/lib/tftpboot  /tftpboot 接著將 xinetd 與 tftp 加入開機啟動,並重啟動 xinetd,如下: $ chkconfig  --level  235  xinetd on $ chkconfig  --level  235  tftp  on $ service xinetd restart 開放防火牆通行 $ iptables -A INPUT -p udp --dport 69 -j ACCEPT $ service iptables re