原文地址:http://www.cnblogs.com/thinksasa/archive/2013/02/23/2923375.html
多塊硬盤的組合:
硬盤分兩種:ide和scsi。
ide硬盤:
/dev/hda 第一塊IDE硬盤
/dev/hdb 第二塊IDE硬盤
...
/dev/hdn 第N塊IDE硬盤
scsi硬盤:
/dev/sda 第一塊SCSI硬盤
/dev/sdb 第二塊SCSI硬盤
...
/dev/sdn 第N塊SCSI硬盤
硬盤分區:
/dev/hda1 第一個分區
/dev/hda2 第二個分區
...
/dev/hdan 第N個分區
分區的三種情況:
一、主分區:一塊硬盤只能分四個主分區;
二、擴展分區:將一個主分區拿出來做擴展分區;
三、邏輯分區:在一個擴展分區裡再分的分區。
分區表:用來記錄有幾個分區。在MBR(主引導記錄,位於一個磁盤的0柱面,0扇區,0磁道)就是一個磁盤最開始的地方64byte個地方,記錄一個分區需要使用16個字節。
光盤外設:
/dev/cdrom
IDE:
/dev/hd1
/dev/hd2
SCSI:
/dev/scd1
/dev/scd2
軟盤:
/dev/fd1
/dev/fd2
硬盤:
/dev/hda /dev/hda1
/dev/sda /dev/sda1
U盤:(默認為scsi硬盤)
/dev/sdx (abcdef)
/dev/sda
/dev/sdb...
分區方法:
fdisk /dev/sdb:進入後按命令提示操作進行分區(p:打印分區表,n:新建分區->p/e->+10G分配分區大小)。
格式化:
分區後,只有格式化了才能使用。
windows系統下,文件系統是FAT32或者NTFS。但是在linux下是ext(後續升級到ext2,ext3)。
相關命令:使用fdisk -l可以查看到系統中連接的外部設備,比如有硬盤,U盤。
使用df -l可以查看已經掛載上的分區。
注:fdisk -T(T要大寫)比fdisk多一個顯示參數:掛載點。
Disk /dev/sdb doesn't contain a valid partition table:表示第二塊SCSI硬盤沒有包含一個有效的分區表。
格式化方法:mkfs -t ext4 /dev/sdb1
掛載:
掛載方法:mount /dev/sdb1 /mnt/one(將/dev/sdb1掛載到/mnt/one目錄上,相當於訪問/mnt/one實際上在訪問/dev/sdb1)。
注:在windows下接入外設(如插入U盤)就能自動識別,退出的時候,只要點擊右下角的刪除硬件即可。但是linux系統下,接入外設必須手動掛載。
LVM:
一、概念:
LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它由Heinz Mauelshagen在Linux 2.4內核上實現。LVM將一個或多個硬盤的分區在邏輯上集合,相當於一個大硬盤來使用,當硬盤的空間不夠使用的時候,可以繼續將其它的硬盤的分區加入其中,這樣可以實現磁盤空間的動態管理,相對於普通的磁盤分區有很大的靈活性。
與傳統的磁盤與分區相比,LVM為計算機提供了更高層次的磁盤存儲。它使系統管理員可以更方便的為應用與用戶分配存儲空間。在LVM管理下的存儲卷可以按需要隨時改變大小與移除(可能需對文件系統工具進行升級)。LVM也允許按用戶組對存儲卷進行管理,允許管理員用更直觀的名稱(如"sales'、 'development')代替物理磁盤名(如'sda'、'sdb')來標識存儲卷。
如圖所示LVM模型:
由四個磁盤分區可以組成一個很大的空間,然後在這些空間上劃分一些邏輯分區,當一個邏輯分區的空間不夠用的時候,可以從剩余空間上劃分一些空間給空間不夠用的分區使用。
二、LVM基本術語
前面談到,LVM是在磁盤分區和文件系統之間添加的一個邏輯層,來為文件系統屏蔽下層磁盤分區布局,提供一個抽象的盤卷,在盤卷上建立文件系統。首先我們討論以下幾個LVM術語:
物理存儲介質(The physical media):這裡指系統的存儲設備:硬盤,如:/dev/hda1、/dev/sda等等,是存儲系統最低層的存儲單元。
物理卷(physical volume):物理卷就是指硬盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數。
卷組(Volume Group):LVM卷組類似於非LVM系統中的物理硬盤,其由物理卷組成。可以在卷組上創建一個或多個“LVM分區”(邏輯卷),LVM卷組由一個或多個物理卷組成。
邏輯卷(logical volume):LVM的邏輯卷類似於非LVM系統中的硬盤分區,在邏輯卷之上可以建立文件系統(比如/home或者/usr等)。
PE(physical extent):每一個物理卷被劃分為稱為PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,默認為4MB。
LE(logical extent):邏輯卷也被劃分為被稱為LE(Logical Extents) 的可被尋址的基本單位。在同一個卷組中,LE的大小和PE是相同的,並且一一對應。
簡單來說就是:
PV:是物理的磁盤分區
VG:LVM中的物理的磁盤分區,也就是PV,必須加入VG,可以將VG理解為一個倉庫或者是幾個大的硬盤。
LV:也就是從VG中劃分的邏輯分區
如下圖所示PV、VG、LV三者關系:
三、安裝LVM
首先確定系統中是否安裝了lvm工具:
[root@localhost /]# rpm -qa|grep lvm
lvm2-2.02.87-6.el6.x86_64
lvm2-libs-2.02.87-6.el6.x86_64
如果命令結果輸入類似於上例,那麼說明系統已經安裝了LVM管理工具;如果命令沒有輸出則說明沒有安裝LVM管理工具,則需要從網絡下載或者從光盤裝LVM rpm工具包。
四、創建和管理LVM
要創建一個LVM系統,一般需要經過以下步驟:
1、 創建分區
使用分區工具(如:fdisk等)創建LVM分區,方法和創建其他一般分區的方式是一樣的,區別僅僅是LVM的分區類型為8e。如下列圖所示:
查看磁盤分區表
使用fdisk創建分區,根據設備文件的絕對路徑(/dev/hda)進入分區管理
一定要指定分區的格式為8e,這是LVM的分區格式
2、 創建PV
3、 創建VG
創建完成VG之後,才能從VG中劃分一個LV。
4、 創建LV
創建了一個名字為lvData,容量大小是100M的分區,其中:-L:指定LV的大小 -n:指定LV的名。Vo1Group00:表示從這個VG中劃分LV;
5、LV格式化及掛載
下一步需要對LV進行格式化(使用mksf進行格式化操作),然後LV才能存儲資料
將格式化後的LV分區掛載到指定的目錄下,就可以像普通目錄一樣存儲數據了
掛載之後,可以看到此LV的容量。
如果要在系統啟動的時候啟動LV,最好是將lvData寫入fstable 文件中,如下所示:
使用Vim編輯器,打開/etc/fstab,在最後一行添加如圖中所示,其中/dev/VolGroup00/lvData指定需要掛載的分區LV,/root/test指定要掛載的目錄(掛載點),ext3分區文件系統格式,其它使用默認即可
LVM備注:
擴容當前分區
一、首先創建一塊新的分區:
fdisk /dev/hda
n
l #選擇邏輯分區,如果沒有,則首先創建擴展分區,然後再添加邏輯分區(硬盤:最多四個分區P-P-P-P或P-P-P-E)
6 #分區號(從5開始),/dev/hda6
t 8e #分區類型8e表示LVM分區
w #寫入分區表
partprobe #重讀分區表
mkfs –t ext3 /dev/hda6 #格式化
partx /dev/hda #查看當前硬盤的分區表及使用情況
二、創建PV,擴容VG,LV
pvcreate /dev/hda6
vgdisplay #查看當前已經存在的VG信息,以存在VG:VolGroup00為例
vgextend VolGroup00 /dev/hda6 #擴展VolGroup00
lvdisplay #查看已經存在的LV信息,以存在LV:LogVol01為例
lvextend –L 1G /dev/VolGroup00/LogVol01 #擴展LV
resize2fs /dev/VolGroup00/LogVol01 #執行該重設大小,對於當前正在使用的LogVol01有效
df –h #查看掛載情況,已經擴容
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
[root@localhost yuanbor]# /sbin/pvs 檢查是否有重名的VG組
2、vgrename
[root@localhost yuanbor]#/sbin/vgrename [VG UUID] /dev/VolGroup01 #將重復的VG組 根據UUID改為 VolGroup01
[root@localhost yuanbor]# /sbin/pvs #檢查 修改結果
3、lvscan
[root@localhost sdb3]# /sbin/lvscan #檢查 邏輯卷狀態
可以看到新修改的VolGroup01是inactive狀態。
4、vgchange
[root@localhost sdb3]# /sbin/vgchange -ay /dev/VolGroup01 #激活改名後的VolGroup01
[root@localhost mnt]# /sbin/lvscan #檢查激活結果
5、mount
[root@localhost mnt]# mount /dev/VolGroup01/LogVol00 /mnt/sdb3 #掛載邏輯卷 掛載點可以自定義
注意:1不一定能夠顯示錯誤,如果不報錯可以使用vgdisplay命令查找 VG UUID
找到後繼續 2