轉自:truemylife.linux磁盤 分區 物理卷 卷組 邏輯卷 文件系統加載點操作案例
基本概念:
磁盤、分區、物理卷【物理部分】
卷組【中間部分】
邏輯卷、文件系統【虛擬化后可控制部分】
磁盤信息查看
fdisk -l
SATA磁盤,使用fdisk -l
如果有兩塊磁盤,會顯示
sda
sdb
如果有更多,依次a-z
fdisk -l
除了顯示硬盤分區,同時顯示邏輯卷信息,邏輯卷以vg_開頭
查看文件系統及其掛載點
df -h
文件系統可以是邏輯卷,也可以直接為物理分區
/dev/mapper/vg_hxserver-lv_root 50G 23G 25G 49% / tmpfs 7.8G 0 7.8G 0% /dev/shm /dev/sda1 485M 37M 423M 8% /boot /dev/mapper/vg_hxserver-lv_home 218G 233M 207G 1% /home
以上/dv/sda1是物理分區,vg_是邏輯卷,tmpfs某設備名稱
cat /etc/fstab看到更多的設備掛載信息
但是使用df -h只顯示一部分與存貯相關類型的信息,如ext4、swap、tmpfs
以centos6.3安裝為例,安裝完成后會自動
創建一個物理卷 /dev/sda2(屬於卷組vg_hostname) pvdispaly 可以查看物理卷
創建一個卷組 /vg_hostname(hostname是機器名) vgdisplay可以查看卷組
創建三個邏輯卷
/dev/vg_hxserver/lv_root
/dev/vg_hxserver/lv_home
/dev/vg_hxserver/lv_swap
以上部分是從系統默認安裝后能查看到的信息
案例1:新增磁盤並把新磁盤虛擬化成邏輯卷,把文件系統/home掛載到這個新邏輯卷。
1、fdisk -l
可以看到新磁盤/dev/sdb(如果之前只有sda)
2、fdisk /dev/sdb
進入fdisk操作界面
進入fdisk操作界面,這里涉及到linux分區相關知識見http://www.jb51.net/LINUXjishu/57192.html
總結性的一句話:主分區不超出4個,也可以分成1-3個主分區加1個擴展分區。擴展分區本身是不可用的,
需要划分成若干邏輯分區后使用。分區還是需要合理,以免剩余出磁盤被浪費。
這里創建一個最簡單的Linux LVM類型的主分區
command:n
p
e
鍵入p
一直按回車,就創建出整個磁盤空間的主分區
鍵入t
輸入8e即對應的Linux LVM類型的物理卷
鍵入w退出
新建分區完成
fdisk -l
可以看到新建分區sdb1
3、pvdisplay查看當前的物理卷
把分區sdb1建成物理卷
pvcreate /dev/sdb1【物理卷名】 /dev/sdb1【分區路徑】
pvdisplay 看到/dev/sdb1物理卷還不屬於任務卷組
vgs或vgdisplay 查看已創建的卷組,如果要新建卷組使用vgcreate
把新建的物理分區,分配到卷組/dev/vg_dbcentos6
vgextend /dev/vg_dbcentos6 /dev/sdb1
vgs可以看到vg_dbcentos63擴展了容量,VFreee是剩下可用容量,如果顯示4.00G,
接下來創建邏輯卷時,可輸入4G,不能超出,當然也不要浪費掉。
lvcreate -L 4G -n lv_home vg_dbcentos6
lvs或lsdisplay或fdisk -l都能看到新創建的lv_home
需要注意的是,這里有兩個規則一是取名lv_home,會自動生成邏輯卷的路徑為
/dev/vg_dbcentos6/lv_home
生成Disk設備映射/dev/mapper/vg_dbcentos6-lv_home【文件系統的掛載點】
cat /etc/fstab 可以看到當前文件系統格式,有ext3、ext4等,比方說查看到文件系統是ext4
接下來格式花文件系統
mkfs.ext4 /dev/mapper/vg_dbcentos6-lv_home
掛載文件系統
mount /dev/mapper/vg_dbcentos6-lv_home /home
查看文件系統
df【可以看到多出了/home掛載點】
機器啟動后能自動掛載
vi /etc/fstab
fstab共6列,第1列表示設備 第2列表示掛載點 第3列表示設備類型 第4列表示參數 第5列參數表示隔幾天
備份 第6列表示啟動時檢測優先級別
reboot 看是否自動掛載
案例2:centos6.3默認安裝,/home的掛載設備對應的邏輯卷非常大,但是/掛載的邏輯卷空間較小,需要減小/home邏輯卷,加大/對應的邏輯卷。
umount /home【首先必須卸下掛載點,umount時相關設備必須是空閑的,但是像/及/root有些系統服務無法被 終止,也就無法umount,因此像/ /root這些掛載點最好安裝的時候最好就有所規划,但是我們可以讓他擴大還是沒有問題】
在umount過程中如果有設備占用情況可使用
fuser -m -k /home終止相關進程,再次umount /home成功
df 看不到 /home掛載點
必須先檢測設備映射
e2fsck -f /dev/mapper/vg_dbcentos6-lv_home
減小/home大小,原有4G,減小到1G
resize2fs /dev/mapper/vg_dbcentos6-lv_home 1G
重新掛載
mount /dev/mapper/vg_dbcentos6-lv_home /home
df -h 看到/home只剩1G了
以上只是減少了文件設備的大小,還要進一步減小對應邏輯卷大小
lvresize -L 1G /dev/mapper/vg_dbcentos6-lv_home【此過程會提示可能丟數據,如果有必要,請先備份
/home下數據在做操作】
lvresize -L +3GM /dev/mapper/vg_dbcentos6-lv_root【lv_root邏輯卷新增3G】
resize2fs /dev/mapper/vg_dbcentos6-lv_root 【這個命令不帶參數,表示把多出來的容量都加到當前文件系統】
df -h【看到容量增加了】
總結一下案例2的過程,先umount、接下來efsck -f、接下來resize2fs要減小的文件系統、mount文件系統、
lvresize要減小的邏輯卷、lvresize要增大的邏輯卷、resize2fs要增大的文件系統。
菜鳥,直接拔下新增磁盤引發的錯誤
新增磁盤不會有系統文件,因此不致於系統無法啟動
1、如果新增的磁盤,通過分區、物理卷、加到卷組、邏輯卷后,如果新的邏輯卷被加到lv_root,
也就是root邏輯卷后。如果不事先做移除命令,事后再想移除會比較麻煩,甚至無法移除這些unknown device
2、如果新增邏輯卷有自動掛載點,也需要刪除掛載點后才能拔下硬盤,否則啟動后會提示使用root以安全模式進入
那么這兩個問題分別怎么解決呢?
第2個問題相對簡單,以root進入后
mount -o remount,rw /【這個命令讓root可以修改/etc/fstab,否則無法修改】
vi /etc/fstab 刪除已經拔掉磁盤相關的掛載點信息
reboot【重起后能正常進入】
第一個問題
方法一、就是再次把磁盤插回去,然后把對應的邏輯卷刪除、把物理卷從卷組里刪除並刪除物理卷
方法二、如果找不回對應的磁盤,若邏輯卷不是被分配到root,可以直接刪除特理卷,這時用pvdisplay會發現有一個unkonwn device
可以使用vgreduce --removemissing --force volumname,可以發現unkown device被移降
但是如果是在lv_root由於存放並正在使用大量的系統級內容和服務,將無法移除此設備,因此用磁盤擴展
lv_root一定要謹慎,在移除磁盤的時候一定要先移除對應的邏輯卷、物理卷從卷組里移除並移除物理卷。以免產生垃圾unkown
device。另外即使不是在lv_root下,也有可能說內容被占用,這個可以使用fuser -m -k /mnt/a【/mnt/a指你要移除的邏輯卷
對應的掛載點的正在運行的服務】,然后umount /mnt/a,最后vgreduce --removemissing --force volumname。