Linux磁盤管理:LVM或Linux文件

1、Linux LVM文件系統(tǒng)

1.1 新建

Step 1 物理分區(qū)fdisk
使用fdisk命令創(chuàng)建新分區(qū),并使用fdisk的t命令修改分區(qū)類型為8e(lvm類型)。默認(rèn)分區(qū)id都是83,即linux文件類型,文件類型ID為82,則為交換分區(qū)swap。

fdisk -l
fdisk /dev/sdb //分區(qū)后重啟linux(或執(zhí)行partprobe,不需重啟即可通知內(nèi)核)。

fdisk /dev/sdb
Command (m for help): n # 輸入n新建一個分區(qū)
Command action
e extended
p primary partition (1-4)
p # 輸入p新建一個主分區(qū)
Partition number (1-4): 1 # 分區(qū)號
First cylinder (1-1044, default 1): 直接回車,使用默認(rèn)的起始柱面
Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): +32G # 大小,如果直接回車,使用默認(rèn)截止柱面,那對于這塊硬盤,只建立一個分區(qū),大小是整個磁盤。
Command (m for help): t # 改變類型
Selected partition 1
Hex code (type L to list codes): 8e # LVM 的分區(qū)代碼;默認(rèn)分區(qū)id都是83,即linux文件類型;文件類型ID為82,則為交換分區(qū)swap。
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): w # 輸入w, 保存分區(qū)表并退出

或者上面不執(zhí)行,直接使用整塊盤,后續(xù)/dev/sdb1替換為/dev/sdb。

Step 2 創(chuàng)建PV pvcreate
物理磁盤被格式化為PV,空間被劃分為一個個PE,每個默認(rèn)大小是4MB。

pvcreate /dev/sdb1

提示沒有此命令,則需要按照最后的指導(dǎo)安裝lvm。

Step 3 新建vgcreate
新建

vgcreate vgaze /dev/sdb1 /dev/sdb2  //新建卷組,dev下會多處一個名為vgaze的目錄。

Step 4 新建lvcreate
LV實際由LE組成,LE與PE一一對應(yīng),LV大小為PE的整數(shù)倍,組成LV的PE可能來自不同的物理磁盤。
新建

lvcreate -n lvaze  -L 256M vgaze //在卷組vgaze中建立名為lvaze的邏輯卷,目錄vgaze中會多一個名為lvaze的符號鏈接。
lvdisplay

Step 5 創(chuàng)建文件系統(tǒng)

mkfs -t ext3 /dev/vgaze/lvaze //在lv上創(chuàng)建文件系統(tǒng)

Step 6 掛載

mkdir /root/aze //創(chuàng)建掛載點
mount  /dev/vgaze/lvaze /root/aze //掛載文件系統(tǒng)

Step 7 更新/etc/fstab
內(nèi)核啟動過程會讀取/etc/fstab配置文件來自動掛載磁盤,把LVM創(chuàng)建的邏輯卷掛載信息寫入這個文件,就不需要在開機后手動掛載。

# 執(zhí)行vi /etc/fstab命令,在最后追加一行。
/dev/vgaze/lvaze    /root/aze    ext3    defaults    0    2
執(zhí)行:wq!保存退出

測試開機自動掛載

mount -a
df -h

1.2. 邏輯卷擴容

Step 1 新增硬盤創(chuàng)建物理卷(先fdisk)
pvcreate /dev/sdc1

Step 2 物理卷加入卷組
vgextend /dev/vgaze /dev/sdb1

Step 3 卸載
umount /dev/vgaze/lvaze

Step 4 擴展lv
lvextend -L +1024M /dev/vgaze/lvazelvresize -L 40G /dev/vgaze/lvazelvresize -L +20G /dev/vgaze/lvaze

Step 5 檢查磁盤錯誤,等待時間較長可以考慮跳過(掛載狀態(tài)無法檢查)
e2fsck -f /dev/vgaze/lvaze

Step 6 重設(shè)文件系統(tǒng)大小
resize2fs /dev/vgaze/lvaze

Step 7 掛載
mount -t ext2 /dev/vgaze/lvaze /root/aze

1.3 邏輯卷縮容

Step 1 卸載lv分區(qū)
umount /root/aze

Step 2 檢查磁盤錯誤
e2fsck -f /dev/vgaze/lvaze

Step 3 重設(shè)文件系統(tǒng)大小
resize2fs /dev/vgaze/lvaze 200M

Step 4 縮減lv大小
lvreduce -L 200M /dev/vgaze/lvazelvresize -L 10G /dev/vgaze/lvazelvresize -L -30g /dev/vgaze/lvaze

Step 5 掛載分區(qū)
mount /root/aze

1.4 Linux LVM擴容原分區(qū):

使用parted工具擴容擴展分區(qū)(柱面末端),或者新增主分區(qū),然后fdisk格式化、lvm管理。

parted工具擴容擴展分區(qū)
parted /dev/xxx
print 查看分區(qū)表,留意目標(biāo)分區(qū)的’Number’ 項,后面要用。


Number  Start   End     Size    Type      File system  Flags
1      1049kB  256MB   255MB   primary   ext2         boot
2      257MB   8589MB  8332MB  extended
5      257MB   8589MB  8332MB  logical                lvm

涉及到磁盤大小變更,建議預(yù)留1G空間容差:
unit命令用于改變 parted 所用的描述大小的默認(rèn)單位(比如設(shè)為 ‘compact’ 就是以 ‘MB’ 為單位)。值得注意的是,如果用 MB/GB 這樣的單位,磁盤 sector 的選取會有誤差的。parted 會為你選最近的 sector,但未必精確。比如 unit 為 MB,那么可能產(chǎn)生 +-500KB 的誤差;如果是 GB,那就可能 +-500MB 的誤差,這就無法容忍了。所以如果是’創(chuàng)建分區(qū)’這樣的操作,建議用 ‘MiB’ 這樣的單位,而不是 ‘MB’。’MiB’ 會是一個精確值,parted 不會像對待 ‘MB’ 那樣去找它最近的單元。

對指定Number為2的分區(qū)從 start 位置為257MB到end位置為磁盤末尾。
resize 2 257MB -0

新增邏輯分區(qū)
通過 fdisk <disk_dev_name> 進入交互模式,可以通過命令 m 查看幫助。首先,輸入 n 創(chuàng)建新分區(qū),然后選擇 l 設(shè)置新分區(qū)為邏輯分區(qū),接下來依次設(shè)置分區(qū)的起始、終止位置(默認(rèn)即完全利用這塊磁盤上剩余的所有空間,所以默認(rèn)即可)。

以上也可以直接新增一個主分區(qū)/擴展分區(qū)
不能擴容主分區(qū),因為原來的分區(qū)已經(jīng)在使用不能格式化

格式化與使用lvm管理
把新分區(qū)的管理系統(tǒng)從 Linux 改為 Linux LVM,加入到現(xiàn)有l(wèi)v。

2、Linux ext文件系統(tǒng)管理

2.1新建分區(qū)

  • Step 1 分區(qū)fdisk,參考以上
    fdisk /dev/vdb
  • Step 2 創(chuàng)建文件系統(tǒng)mkfs,參考以上
    mkfs -t ext4 /dev/vdb1
  • Step 3 掛載mount,參考以上
    mkdir /backup
    mount /dev/vdb1 /backup/
  • Step 4 更新/etc/fstab,參考以上

(只識別最大2T)

2.2 Linux ext擴容原分區(qū):只能對最后一個分區(qū)操作(柱面末端)

檢查一遍
先識別到當(dāng)前最后一個分區(qū)是sdb3,然后執(zhí)行
fsck -f /dev/sdb3

刪除現(xiàn)有分區(qū),重新分區(qū)
fdisk /dev/sdb3

  • 輸入d刪除現(xiàn)有分區(qū),注意:刪除后千萬不要按w保存
  • 輸入n創(chuàng)建新分區(qū),從原有柱面開始,到最后(默認(rèn)值兩次回車即可,如果之前的分區(qū)不是從第一柱面開始,則需要記錄之前分區(qū)的起始柱面)
  • 新的分區(qū)操作完畢后,按w保存。

檢查一遍
fsck -f /dev/sdb3

重新定義分區(qū)大小
resize2fs /dev/sdb3

重新掛載分區(qū),查看分區(qū)
mount /dev/sdb3/mnt/
df -h

3、擴展

3.1 安裝LVM

uname -a //查看內(nèi)核信息
yum install lvm2 device-mapper //安裝 LVM2,linux內(nèi)核2.6.9版本開始,不用單獨安裝device-mapper,已經(jīng)包含在內(nèi),只需加載即可。
modprobe dm_mod //加載mapper模塊
lsmod | grep dm_mod //是否加載了dm_mod

3.2 LVM命令

任務(wù) PV 階段 VG 階段 LV 階段
列出 (display) pvdisplay vgdisplay lvdisplay
搜尋 (scan) pvscan vgscan lvscan
創(chuàng)建 (create) pvcreate vgcreate lvcreate
刪除 (remove) pvremove vgremove lvremove
改變?nèi)萘?(resize) lvresize
擴展 (extend) vgextend lvextend (lvresize)
減少 (reduce) vgreduce lvreduce (lvresize)
改變屬性 (attribute) pvchange vgchange lvchange

change,有變化后需要激活?

3.3 /etc/fstab內(nèi)容介紹

/etc/fstab文件內(nèi)容有6列:
<file system> <dir> <type> <options> <dump> <pass>

/dev/vgaze/lvaze /root/aze ext3 defaults 0 2

第一列<file system>:磁盤/LV的路徑或UUID
第二列<dir>:掛載點目錄
第三列<type>:磁盤文件系統(tǒng)的格式
第四列<options>:文件系統(tǒng)參數(shù),defaults,等于rw, suid, dev, exec, auto, nouser, async。
第五列<dump>:dump utility根據(jù)此值決定是否備份,如果值為0,dump忽略此文件系統(tǒng),如果是1,dump會對此系統(tǒng)作一個備份。大部分用戶沒有安裝dump,所以這個值應(yīng)該寫為0。
第六列:是否用fsck檢驗文件系統(tǒng)完整性,值可以是0,1和2。 值為0,則不會被fsck utility檢查。值為1,擁有fsck檢查的最高優(yōu)先級,root文件系統(tǒng)應(yīng)該擁有最高的優(yōu)先權(quán)。其它文件系統(tǒng),如果想用fsck檢查,則值為2。

3.4 介紹主分區(qū)與擴展分區(qū),MBR與GPT

硬盤的第一個扇區(qū)(第0扇區(qū))用來存放主引導(dǎo)記錄(MBR),也稱MBR扇區(qū)。一個扇區(qū)是512字節(jié),因此MBR扇區(qū)的大小也是512字節(jié),其具體數(shù)據(jù)結(jié)構(gòu)是:446個字節(jié)的引導(dǎo)代碼、64個字節(jié)的分區(qū)表及2個字節(jié)的簽名值"55AA"。由于MBR的分區(qū)表只有64個字節(jié),一個分區(qū)需要16Bytes空間來存儲相關(guān)信息,所以分區(qū)表只能存儲4個分區(qū)記錄。

主分區(qū)(注意擴展分區(qū)也是一個主分區(qū))的最大個數(shù)是四,當(dāng)創(chuàng)建四個主分區(qū)時,就無法再創(chuàng)建擴展分區(qū)。

為了突破四個主分區(qū)的限制,更好規(guī)劃磁盤空間大小,Linux系統(tǒng)引入了擴展分區(qū)的概念(類似把主分區(qū)進行細(xì)分,衍生出二級分區(qū)表)。管理員可以把其中一個主分區(qū)設(shè)置為擴展分區(qū)(注意只能夠使用一個擴展分區(qū))來進行擴充。擴展分區(qū)無法直接使用,必須細(xì)分成邏輯分區(qū)才可以用來存儲數(shù)據(jù)。

MBR分區(qū)格式的最大分區(qū)為2TB,GPT分區(qū)沒有2TB的限制,理論上最大分區(qū)為18EB。如果要創(chuàng)建大于2TB的GPT分區(qū),就不能使用MBR 格式的分區(qū)表,需要使用linux 下的Parted分區(qū)工具。

#ThisIsAze

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容