1. 硬盤類型 /dev/sda VS /dev/hda
/dev/sda
/dev/sda1
/dev/sda2
/dev/sda3
而又的安裝時硬盤驅動設備名為
/dev/hda
/dev/hda1
HDA是使用了ide接口的硬盤的名稱.SDA是sata接口的硬盤的名稱.
硬盤接口分為:
-
ide (integrated drive electronics) 把盤體和控制器集成在一起
-
sata (serial ATA(advanced technology attachment))
-
scsi (small computer system interface)
-
光纖通道 fibre channel
其中hda、hdb分別代表第一個IDE、第二個IDE。假如你電腦上插有2個IDE硬盤,就會出現hda、hdb嗎?不一定,因為貌似IDE硬盤默認有兩個部分,Master和Slave,即主分區和擴展分區,而且a、b是根據IDE接口插槽順序來分的。這樣的話,第一IDE插槽主分區為hda,擴展分區為hdb,第二IDE插槽主分區為hdc,擴展分區為hdd。
但是SATA硬盤好像沒有擴展分區,而且Linux識別SATA等類型裝置的順序不是按插槽順序來的,是按照設備被偵測到的順序來定的,比如SATA的第1、5插槽分別插有硬盤,電腦上還插有一個USB,那么啟動Linux的時候,先后偵測到SATA的第1、5插槽的硬盤和USB設備,那么分配的名稱就分別是sda,sdb,sdc。
2. 分區
計算機中存放信息的主要的存儲設備就是硬盤,但是硬盤不能直接使用,必須對硬盤進行分割,分割成的一塊一塊的硬盤區域就是磁盤分區。在傳統的磁盤管理中,將一個硬盤分為兩大類分區:主分區和擴展分區。主分區是能夠安裝操作系統,能夠進行計算機啟動的分區,這樣的分區可以直接格式化,然后安裝系統,直接存放文件。
在一個MBR分區表類型的硬盤中最多只能存在4個主分區。如果一個硬盤上需要超過4個以上的磁盤分塊的話,那么就需要使用擴展分區了。如果使用擴展分區,那么一個物理硬盤上最多只能3個主分區和1個擴展分區。擴展分區不能直接使用,它必須經過第二次分割成為一個一個的邏輯分區,然后才可以使用。一個擴展分區中的邏輯分區可以任意多個。
磁盤分區后,必須經過格式化才能夠正式使用,格式化后常見的磁盤格式有:FAT(FAT16)、FAT32、NTFS、ext2、ext3,ext4等。
fdisk 命令
root@dev:/home/s1# fdisk -l
Disk /dev/sda: 250.1 GB, 250059350016 bytes //這個硬盤有250.1 GB的容量
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors //255個磁頭;63個扇區每磁道,30401個磁柱
Units = sectors of 1 * 512 = 512 bytes //每個 cylinder(磁柱)的容量是512字節
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d7bf1
存儲容量=磁道(柱面)數×磁頭數×每道扇區數×每扇區字節數 = 30401 * 255 * 63 * 512 = 25396387380 bytes
fdisk是交互式命令,其下有許多子命令,說明如下:
Command (m for help): m #交互式命令,提示鍵入“m”以獲取幫助Command action #可以看到,fdisk有如下這么多的子命令
a toggle a bootable flag #設定可啟動標記
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition #刪除一個分區
l list known partition types #各分區類型所對應的Sy em ID
m print this menu
n add a new partition #新建一個分區
o create a new empty DOS partition table
p print the partition table #顯示當前的分區信息
q quit without saving changes #不保存退出
s create a new empty Sun disklabel
t change a partition's system id #修改指定分區的System ID
u change display/entry units
v verify the partition table
w write table to disk and exit #保存退出
x extra functionality (experts only)
其中常用的類型為:
文件系統:
VFS:Virtual FileSystem
保證各種磁盤設備接口都可以使用
Linux:ext2, ext3,ext4, reiserfs, xfs, btrfs, swap
光盤:iso9660
Windows:fat32(vfat), ntfs
Unix:ffs, ufs, jfs, jfs2
網絡文件系統:nfs,cifs
集群文件系統:ocfs2,gfs2
分布式文件系統:ceph,
moosefs,mogilefs, hdfs, gfs, glusterfs
(1)日志型文件系統
非日志型文件系統:ext2
日志型文件系統:ext3
(2)swap:交換分區
把硬盤當臨時內存來使用
創建文件系統:
在分區上執行格式化(高級格式化)
要使用某種文件系統,滿足兩個條件:
內核中:支持此種文件系統
用戶空間:有文件系統管理工具
創建工具:mkfs(make filesystem)
mkfs -t type DEVICE
mkfs.type DEVICE
mkfs [Tab][Tab] 查看mkfs支持的文件格式
mkfs.cramfs mkfs.ext3 mkfs.minix
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.xfs
ext系列文件系統的專用管理工具:
mke2fs -t {ext2|ext3|ext4} DEVICE
-b BLOCK: 1024, 2048, 4096 指定塊大??;根據存儲文件的大小決定塊分配大小
-L 'LABEL': 設定卷標名稱
-i #:給多大空間給一個inode
-N #:為此磁盤分區一共保留多少個inode
-m #:預留磁盤空間占據多大百分比的空間為后期管理使用
-c:檢查磁盤錯誤,僅下達一次-c時,會進行快速讀取測試
-j:相當于 mk2fs -t ext3; 本來mke2fs是ext2,加入journal成為ext3
-O feature[,…] 啟用指定特性
has journal 啟用日志功能
-O ^feature[,…] 關閉指定特性 /etc/mke2fs.conf 默認特性配置文件
blkid命令:定位并顯示塊設備屬性 locate/print block device attributes
blkid DEVICE
查看 LABEL,UUID, TYPE
LVM幾個基本概念
物理存儲介質(PhysicalStorageMedia):指系統的物理存儲設備:磁盤,如:/dev/hda、/dev/sda等,是存儲系統最底層的存儲單元。
物理卷(Physical Volume,PV):指磁盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數。
物理塊(Physical Extent,PE):每一個物理卷PV被劃分為稱為PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,默認為4MB。所以物理卷(PV)由大小等同的基本單元PE組成。
卷組(Volume Group,VG):類似于非LVM系統中的物理磁盤,其由一個或多個物理卷PV組成??梢栽诰斫M上創建一個或多個LV(邏輯卷)。
邏輯卷(Logical Volume,LV):類似于非LVM系統中的磁盤分區,邏輯卷建立在卷組VG之上。在邏輯卷LV之上可以建立文件系統(比如/home或者/usr等)。
邏輯塊(Logical Extent,LE):邏輯卷LV也被劃分為可被尋址的基本單位,稱為LE。在同一個卷組中,LE的大小和PE是相同的,并且一一對應。
LVM抽象模型
操作:
要創建一個LVM系統,一般需要經過以下步驟:
1、創建分區
使用分區工具(如:fdisk等)創建LVM分區,方法和創建其他一般分區的方式是一樣的,區別僅僅是LVM的分區類型為8e。
2、創建物理卷
創建物理卷的命令為pvcreate,利用該命令將希望添加到卷組的所有分區或者磁盤創建為物理卷。將整個磁盤創建為物理卷的命令為:
#pvcreate /dev/hdb
將單個分區創建為物理卷的命令為:
#pvcreate /dev/hda5
3、創建卷組
創建卷組的命令為vgcreate,將使用pvcreate建立的物理卷創建為一個完整的卷組:
#vgcreate web_document /dev/hda5 /dev/hdb
vgcreate命令第一個參數是指定該卷組的邏輯名:web_document。后面參數是指定希望添加到該卷組的所有分區和磁盤。vgcreate 在創建卷組web_document以外,還設置使用大小為4MB的PE(默認為4MB),這表示卷組上創建的所有邏輯卷都以4MB為增量單位來進行擴充 或縮減。由于內核原因,PE大小決定了邏輯卷的最大大小,4MB的PE決定了單個邏輯卷最大容量為256GB,若希望使用大于256G的邏輯卷則創建卷組 時指定更大的PE。PE大小范圍為8KB到512MB,并且必須總是2的倍數(使用-s指定,具體請參考manvgcreate)。(centos 6.2系統已發現沒有這種限制)
4、激活卷組
為了立即使用卷組而不是重新啟動系統,可以使用vgchange來激活卷組:
#vgchange -ay web_document
5、添加新的物理卷到卷組中
當系統安裝了新的磁盤并創建了新的物理卷,而要將其添加到已有卷組時,就需要使用vgextend命令:
#vgextend web_document /dev/hdc1
這里/dev/hdc1是新的物理卷。
6、從卷組中刪除一個物理卷
要從一個卷組中刪除一個物理卷,首先要確認要刪除的物理卷沒有被任何邏輯卷正在使用,就要使用pvdisplay命令察看一個該物理卷信息:
如果某個物理卷正在被邏輯卷所使用,就需要將該物理卷的數據備份到其他地方,然后再刪除。刪除物理卷的命令為vgreduce:
#vgreduce web_document /dev/hda1
7、創建邏輯卷
創建邏輯卷的命令為lvcreate:
#lvcreate -L1500 -n www1 web_document
該命令就在卷組web_document上創建名字為www1,大小為1500M的邏輯卷,并且設備入口為 /dev/web_document/www1(web_document為卷組名,www1為邏輯卷名)。如果希望創建一個使用全部卷組的邏輯卷,則需 要首先察看該卷組的PE數,然后在創建邏輯卷時指定:
#vgdisplay web_document | grep"TotalPE"
TotalPE45230
#lvcreate -l45230 web_document -n www1
8、創建文件系統
筆者推薦使用reiserfs文件系統,來替代ext2和ext3:
創建了文件系統以后,就可以加載并使用它:
#mkdir/data/wwwroot
#mount /dev/web_document/www1/data/wwwroot
如果希望系統啟動時自動加載文件系統,則還需要在/etc/fstab中添加內容:
/dev/web_document/www1/data/wwwrootreiserfsdefaults12
9、刪除一個邏輯卷
刪除邏輯卷以前首先需要將其卸載,然后刪除:
#umount /dev/web_document/www1
#lvremove /dev/web_document/www1
lvremove–doyoureallywanttoremove"/dev/web_document/www1"?[y/n]:y
lvremove–doingautomaticbackupofvolumegroup"web_document"
lvremove–logicalvolume"/dev/web_document/www1"successfullyremoved
10、擴展邏輯卷大小
LVM提供了方便調整邏輯卷大小的能力,擴展邏輯卷大小的命令是lvextend:
#lvextend -L12G /dev/web_document/www1
lvextend–extendinglogicalvolume"/dev/web_document/www1"to12GB
lvextend–doingautomaticbackupofvolumegroup"web_document"
lvextend–logicalvolume"/dev/web_document/www1"successfullyextended
上面的命令就實現將邏輯卷www1的大小擴招為12G。
#lvextend -L +1G /dev/web_document/www1
lvextend–extendinglogicalvolume"/dev/web_document/www1"to13GB
lvextend–doingautomaticbackupofvolumegroup"web_document"
lvextend–logicalvolume"/dev/web_document/www1"successfullyextended
上面的命令就實現將邏輯卷www1的大小增加1G。
增加了邏輯卷的容量以后,就需要修改文件系統大小以實現利用擴充的空間。筆者推薦使用reiserfs文件系統來替代ext2或者ext3。因此這里僅 僅討論reiserfs的情況。Reiserfs文件工具提供了文件系統大小調整工具:resize_reiserfs。對于希望調整被加載的文件系統大 ?。?/span>
#resize_reiserfs -f /dev/web_document/www1
一般建議最好將文件系統卸載,調整大小,然后再加載:
#umount /dev/web_document/www1
#resize_reiserfs /dev/web_document/www1
#mount-treiserfs /dev/web_document/www1/data/wwwroot
對于使用ext2或ext3文件系統的用戶可以考慮使用工具
ext2resize。
11、減少邏輯卷大小
使用lvreduce即可實現對邏輯卷的容量,同樣需要首先將文件系統卸載:
#umount /data/wwwroot
#resize_reiserfs -s -2G /dev/web_document/www1
#lvreduce -L -2G /dev/web_document/www1
#mount-treiserfs /dev/web_document/www1/data/wwwroot
原創文章,作者:zsyzgw,如若轉載,請注明出處:http://www.www58058.com/41830