1. 程式人生 > >硬碟分割槽,邏輯卷組,裸裝置

硬碟分割槽,邏輯卷組,裸裝置

最近svn版本比較多,vmware的空間不足,需要擴充套件硬碟,便對linux分割槽有了一些認識


普通的window系統中,一塊物理硬碟,安裝系統時候會提示分割槽,然後有CDEF等
linux有些不同,硬碟使用,需要分割槽,掛載,用到了fdisk,mount命令等
如果只是掛載使用,就沒有卷組什麼事情了,但是linux就是提供了邏輯卷管理可以靈活的動態管理硬碟
所謂的邏輯卷就是在fdisk分割槽後,不去掛載,而是轉換成另一種更靈活的組合方式。


pvcreate可以將分割槽裝置轉換為pv-物理卷,轉換後的物理卷可以看成一個虛擬硬碟的組成部分
vgcreate可以將分割槽裝置新增到一個vg-卷組中,卷組就相當於一個虛擬的硬碟,物理卷可以被新增到或新建到卷組
lvcreate可以從vg中任意的新增、刪除、擴充套件、縮小一個lv
最後掛載lv和掛載分割槽一樣的方法,達到了動態


lvextend –L 1G /dev/Group00/Vol01 #擴充套件LV


resize2fs /dev/Group00/Vol01 #重設大小


vmware擴充套件
首先vmware在刪除所有的快照後,可以進行硬碟擴容
進系統後,fdisk -l可以看到是/dev下新增加的裝置空間


裸裝置
在linux/unix的/dev目錄下,有許多檔案,兩個大類:字元裝置檔案和塊裝置檔案
裸裝置是裸分割槽,可以認為是沒有格式化不能掛載的分割槽,不被unix通過檔案系統,作業系統讀取,由應用程式直接
io讀寫操作,間接提高io效率,可以在資料庫作為儲存介質,實現由disk直接到oracle傳輸不經過unix


有檔案系統的分割槽是採用mount的方式掛載到某一個掛載點的(目錄)
而裸裝置不能mount,只能繫結到/dev/raw/下的某一個裝置名,比如/dev/raw/raw1


常用命令:


LVM操作的相關命令:    


fdisk -l :檢視系統中都認到了那些物理硬碟     
pvdisplay:檢視系統中已經建立好的物理卷     
pvcreate:建立一個新的物理卷     
pvremove:刪除一個物理卷(也就是從物理卷中刪除一個LVM標籤)     
vgdisplay:檢視系統中的卷組     
vgcreate:建立一個新的卷組     
vgreduce:從卷組中刪除一個物理卷(也就是縮小卷組)     
vgremove:刪除一個卷組     
lvdisplay:檢視系統中已經建立好的邏輯卷     
lvcreate:建立一個新的邏輯卷     
lvreduce:縮小邏輯卷(也就是從一個邏輯卷中減少一些LE)     
lvremove:從系統中刪除一個邏輯卷     
mkfs:基於邏輯卷建立一個相應型別的檔案系統     
mkdir -p $mount_piont:建立一個掛載目錄     
建立好的檔案系統位於:     /dev/$create_vg_name/$lv_name     
mount /dev/$create_vg_name/$lv_name $mount_piont:掛載檔案系統


vgscan:讀取系統中建立的所有卷組    
vgchange -a y :啟用所有卷組  (開機執行,redhat可在/etc/rc.d/rc.sysinit系統啟動初始化腳本里可以找到)    vgchange -a n :關閉所有卷組(提示:必須在umount所有的檔案系統後,才能成功執行


裸裝置使用:    
1.先lvreate    
2. raw /dev/raw/raw0 /dev/mapper/vgname-lvname    
3.修改 /etc/sysconfig/rawdevices,新增:           /dev/raw/raw0 /dev/mapper/vgname-lvname     
4.執行命令; service rawdevices restart,使得/etc/sysconfig/rawdevices檔案中的裸裝置配置生效     
5.執行/sbin/schkconfig  rawdevices on 使得系統重啟後,裸裝置能自動載入     
6.修改裸裝置的屬主,使得相應許可權的使用者對裸裝置有讀寫許可權       chown -R owner:group  /dev/raw/raw0     
7.將修改裸裝置屬主修改命令加入到系統啟動執行指令碼/etc/rc.local中,使得系統啟動後裸裝置的屬主保持不變.


linux掛載原有LVM盤


範例:


1、pvs
  [
[email protected]
yuanbor]# /sbin/pvs 檢查是否有重名的VG組
  2、vgrename
  [[email protected] yuanbor]#/sbin/vgrename [VG UUID] /dev/VolGroup01 #將重複的VG組 根據UUID改為 VolGroup01
  [[email protected] yuanbor]# /sbin/pvs #檢查 修改結果
  3、lvscan
  [[email protected] sdb3]# /sbin/lvscan #檢查 邏輯卷狀態
  可以看到新修改的VolGroup01是inactive狀態。
  4、vgchange
  [
[email protected]
sdb3]# /sbin/vgchange -ay /dev/VolGroup01 #啟用改名後的VolGroup01
  [[email protected] mnt]# /sbin/lvscan #檢查啟用結果
  5、mount
  [[email protected] mnt]# mount /dev/VolGroup01/LogVol00 /mnt/sdb3 #掛載邏輯卷 掛載點可以自定義


注意:1不一定能夠顯示錯誤,如果不報錯可以使用vgdisplay命令查詢 VG UUID
找到後繼續 2