磁盤分區及lvm管理

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)

其中常用的類型為:

82:Linux swap交換分區

83:Linux分區

8e:Linux邏輯卷

fd:Soft Raid

文件系統:

   VFSVirtual FileSystem 

        保證各種磁盤設備接口都可以使用

   Linuxext2, 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

(0)
zsyzgwzsyzgw
上一篇 2016-09-19
下一篇 2016-09-19

相關推薦

  • LVM——如何讓你的磁盤空間可大可小

    邏輯卷管理器(LVM) 允許對卷進行方便操作的抽象層,包括重新設定文件系統的大小 允許在多個物理設備間重新組織文件系統          將設備指定為物理卷          用一個或者多個物理卷來創…

    Linux干貨 2016-08-29
  • 蘿卜運維記-第二周

    part2–針對文件命令的介紹,使用,演示 Ⅰ Linux文件管理類命令常用方法 Ⅱ bash的工作特性,相關示例 Ⅲ 文件的元數據有哪些,以及所代表的含義。 Ⅳ 相關命令的操作,和結果演示。 ①Linux文件管理命令常用方法 Linux常見文件類型 -:常規文件;即f; d: directory…

    Linux干貨 2016-12-12
  • N25第二周作業

    一、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。     (1).cat:cat命令可以用來合并文件,也可以用來在屏幕上顯示整個文件的內容。     2.語法:cat [選項] [文件]…     3.選項: &nbsp…

    Linux干貨 2016-12-26
  • IP地址的三種表示格式及在Socket編程中的應用

       使用TCP/IP協議進行網絡應用開發的朋友首先要面對的就是對IP地址信息的處理。IP地址其實有三種不同的表示格式:        1)Ascii(網絡點分字符串)-        2) 網絡地址(32位無符號整形,網絡字節序,大頭) &nbsp…

    Linux干貨 2015-04-10
  • CentOS7.3安裝Jumpserver0.3.2

    CentOS7.3安裝Jumpserver0.3.2 公司服務器前端增加堡壘機,選用開源的jumpserver 軟件環境CentOS Linux release 7.3.1611 python 2.7.5 mysql5.7 安裝git yum -y install git 克隆jumpserver # cd /opt # git clone https://…

    Linux干貨 2017-07-11
  • 字段分隔符和迭代器

        內部字段分隔符(Internal Field Separator)是shell腳本編程中的一個重要概念。在處理文本數據時,有很大的作用。內部字段分隔符是用于特定用途的定界符,IFS是存儲定界符的環境變量,它是當前shell環境中使用的默認定界符字符串。     例一:da…

    Linux干貨 2016-08-15
欧美性久久久久