歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> linux磁盤管理,linux磁盤

linux磁盤管理,linux磁盤

日期:2017/3/6 9:21:52   编辑:學習Linux

linux磁盤管理,linux磁盤


linux磁盤管理,linux磁盤


摘自:http://www.apelearn.com/bbs/forum.php?mod=viewthread&tid=7621&extra=page%3D1%26filter%3Dtypeid%26typeid%3D36

1. 查看磁盤或者目錄的容量
df 查看磁盤各分區使用情況
不加參數以k為單位
df -i inode數,df -h 以G或者T或者M
df -m 以M單位顯示

du 查看目錄或者文件的容量
不加參數 以k為單位顯示
-s 列出總和 -a 列出所有文件和目錄
-k 以k為單位 -m 以M為單位
-h 最合適的單位 最常用組合 -sh
擴展 ls -lh 看到的大小和du相比

2. 磁盤的分區和格式化
fdisk -l 查看磁盤和分區,大於2T用GPT
fdisk 設備名 m 列出常用命令,常用的有‘p’, ‘n’, ‘d’, ‘w’, ‘q’.
mke2fs, mkfs.ext2, mkfs.ext3, mkfs.ext4
-t 文件系統格式 ext3 ext4
-b 指定每個數據塊大小,目前支持1024, 2048 及4096
-L 分區標簽
格式化時默認blocks (5.00%) reserved for the super user //給超級用戶預留的一部分空間,用來作為特殊用途
-m 可以更改這個比例,如 mke2fs -m 0.1 /dev/sdb1 //意思是,只預留出0.1%

3. 掛載、卸載磁盤分區
mount 不加任何選項和參數,查看已經掛載情況
mount 格式 mount -t type /dev/sda5 /mnt
mount -t 指定掛載分區格式,如 -t ext3
umount /dev/sda5 或者 umount /mnt
umount -l 強制卸載
mount -o 後面跟各種選項,比如remount,ro,noatime等,具體選項如下:

“async/sync” : async表示和磁盤和內存不同步,系統每隔一段時間把內存數據寫入磁盤中,而sync則會時時同步內存和磁盤中數據;
“auto/noauto” : 開機自動掛載/不自動掛載;
“default” : 按照大多數永久文件系統的缺省值設置掛載定義,它包含了rw, suid, dev, exec, auto, nouser, async
“ro” : 按只讀權限掛載 ;
“rw” : 按可讀可寫權限掛載 ;

“exec/noexec” : 允許/不允許可執行文件執行,但千萬不要把根分區掛載為noexec,那就無法使用系統了,連mount命令都無法使用了,這時只有重新做系統了;
“user/nouser” : 允許/不允許root外的其他用戶掛載分區,為了安全考慮,請用nouser ;
“suid/nosuid” : 允許/不允許分區有suid屬性,一般設置nosuid ;
“usrquota” : 啟動使用者磁盤配額模式,磁盤配額相關內容在後續章節會做介紹;
“grquota” : 啟動群組磁盤配額模式;

特殊用法:mount -o loop 1.iso /mnt #掛載鏡像文件
mount --bind /dir1 /dir2 #掛載目錄

mount -a 會根據/etc/fstab 掛載所有分區
UUID是如何來的,使用命令 blkid
blkid命令 後可以不跟設備名,列出所有
mount UUID=“……” /mnt
使用UUID的好處是,多塊磁盤,如果在服務器上換了插槽位置,設備名會變,但UUID是唯一的

4. 配置文件 /etc/fstab
第一列就是分區的標識,可以LABEL,也可以UUID,當然也可以 (/dev/sda1);
第二列是掛載點;
第三列是分區的格式;
第四列則是mount的一些掛載參數,一般情況下,直接寫defaults即可;
第五列的數字表示是否被dump備份,是的話這裡就是1,否則就是0;第六列是開機時是否自檢磁盤。1,2都表示檢測,0表示不檢測,
/ 分區必須設為1,而且整個fstab中只允許出現一個1,1比2優先級高,所以先檢測1,然後再檢測2,如果有多個分區需要開機檢測那麼都設置成2吧,
1檢測完了後會同時去檢測2。

lvm配置 (參考內容,大家自行實踐)
LVM是Linux環境中對磁盤分區進行管理的一種機制,是建立在硬盤和分區之上、文件系統之下的一個邏輯層,可提高磁盤分區管理的靈活性。支持動態擴充磁盤空間。
首先從空的硬盤sdb上創建兩個分區sdb1 1G, sdb2 2G。
1)創建邏輯卷
pvcreate /dev/sdb1 /dev/sdb2 //創建物理卷
pvdisplay //可以列出已經創建的物理卷
vgcreate vgdata /dev/sdb1 /dev/sdb2 //創建卷組 vgdata ,並將剛才創建好的兩個物理卷加入該卷組
vgdisplay //可以列出已經建好的卷組
#默認PE大小為4MB,PE是卷組的最小存儲單元.可以通過 –s參數修改大小。

lvcreate -L 500M -n lvdata1 vgdata //分割500M給新的邏輯卷lvdata1
lvdisplay //列出當前的邏輯卷

mkfs.ext4 /dev/vgdata/lvdata1 //格式化邏輯卷
mount /dev/vgdata/lvdata1 /aming //掛載邏輯卷

2)擴展邏輯卷
邏輯卷lvdata1不夠用了,我們如何給他增加空間呢?
lvextend –L +500M /dev/vgdata/lvdata1 //給lvdata1增加500M空間。
resize2fs /dev/vgdata/lvdata1 //同步文件系統

3)擴展卷組
當卷組不夠用的情況下,我們也是可以擴展卷組的。我們再創建一個新的分區叫做/dev/sdb3.
vgextend vgdata /dev/sdb3 //把sdb3加入到卷組vgdata中

4)減少邏輯卷大小
卸載 --> e2fsck 檢測剩余空間 --> resize2fs 同步文件系統 --> 使用lvreduce命令將邏輯卷減少
注意:文件系統大小和邏輯卷大小一定要保持一致才行。如果邏輯卷大於文件系統,由於部分區域未格式化成文件系統會造成空間的浪費。

umount /data1
e2fsck -f /dev/mapper/vgdata-lvdata1
resize2fs /dev/mapper/vgdata-lvdata1 700M
lvreduce -L 700M /dev/vgdata/lvdata1
mount /dev/vgdata/lvdata1 /data1

5) 當磁盤或分區損壞時,如何轉移數據
pvmove 轉移空間數據 --> vgreduce命令將即將壞的磁盤或者分區從卷組vgdata裡面移除除去 --> pvremove命令將即將壞的磁盤或者分區從系統中刪除掉 --> 拆除或修復磁盤
pvmove /dev/sdb1
vgreduce vgdata /dev/sdb1
pvremove /dev/sdb1

6) 刪除整個邏輯卷
umount卸載邏輯卷 --> 修改配置文件/etc/fstab(若是之前更改過) --> lvremove 刪除邏輯卷lvdata1 --> vgremove 刪除卷組vgdata --> pvremove 將物理卷轉化成普通分區
umount /dev/vgdata/lvdata1
lvremove /dev/vgdata/lvdata1
vgremove vgdata
pvremove /dev/sdb2
pvremove /dev/sdb3

http://xxxxxx/Linuxjc/1151848.html TechArticle

Copyright © Linux教程網 All Rights Reserved