Linux從入門到精通——系統分區及文件系統的管理
一.磁盤的管理
1.關於磁盤與硬盤
這兩個東西不是一個概念。二者是互相交叉的。
磁盤,是計算機的外部存儲器中類似磁帶的裝置,將圓形的磁性盤片裝在一個方的密封盒子裏,這樣做的目的是為了防止磁盤表面劃傷,導致數據丟失。磁盤有軟磁盤,硬磁盤。硬磁盤就是機械硬盤。
硬盤是電腦主要的存儲媒介之一,由一個或者多個鋁制或者玻璃制的碟片組成。碟片外覆蓋有鐵磁性材料。硬盤有固態硬盤(SSD 盤,新式硬盤)、機械硬盤(HDD 傳統硬盤)、混合硬盤(HHD 一塊基於傳統機械硬盤誕生出來的新硬盤)。SSD采用閃存顆粒來存儲,HDD采用磁性碟片來存儲,混合硬盤(HHD: Hybrid Hard Disk)是把磁性硬盤和閃存集成到一起的一種硬盤。絕大多數硬盤都是固定硬盤,被永久性地密封固定在硬盤驅動器中。
2.本地存儲設備的判別
fdisk -l ##查看本機真實存在的設備,真實存在的設備不一定能被系統識別
cat /proc/partition ##查看系統能識別的設備,系統能識別的設備不一定可以使用
blkid ##查看系統可使用的設備
df ##查看系統正在掛載的設備
3.設備的掛載和卸載
(1).設備的名稱
用df進行查看
可以看到一般的存儲設備名稱都是 /dev/xdx ,例如:
/dev/hd0 /dev/hd1 這類設備都是並口硬盤,簡稱IDE硬盤,使用的是並口接口(LPT),數字代表第幾塊硬盤,如hd0代表第一塊並口硬盤,下面也可以類推
/dev/sda /dev/sdb 這類設備為串口硬盤,現在使用的是sata接口,串行ATA總線使用嵌入式時鐘信號,具備了更強的糾錯能力,與以往相比其最大的區別在於能對傳輸指令(不僅僅是數據)進行檢查,如果發現錯誤會自動矯正,這在很大程度上提高了數據傳輸的可靠性。串行接口還具有結構簡單、支持熱插拔的優點。
/dev/sr0 /dev/sr1 光驅設備
/dev/mapper/xxx 虛擬設備
(2).設備的掛載
使用的命令:mount
命令格式為:mount + 要掛載的設備 + 掛載點
mount /dev/sdb1 /mnt ##把sdb1掛載到/mnt上
umount /mnt /dev/sdb1 ##卸載掛載mnt上的sdb1
mount -o ro /dev/sdb1 /mnt ##只讀掛載sdb1
mount ##查看掛載信息
mount -o remount,rw /dev/sdb1 |/mnt ##重新掛載並設定為讀寫掛載
3.解決設備正忙情況
當有程序正在使用掛載目錄時,正常的卸載是無法完成的,這時需要以下操作完成強行卸載
方法一:
fuser -kvm /mnt ##強行停止程序對該目錄的使用,該操作會關閉當前的shell
umount /mnt
方法二:
lsof /mnt
kill -9 進程IP
umount /mnt
4設定永久掛載
方法一:使用開機自啟動腳本
vim /etc/rc.d/rc.local
編輯內容如下:
mount /dev/vdb1 /mnt
註:rc.local是個腳本,在其中編輯的內容為shell的命令
方法二:使用自動掛載策略
vim /etc/fstab
編輯內容如下:
/dev/vdb1 /mnt/ xfs defaults 0 0 ##xfs表示掛載的文件系統格式,defaults表示默認自動掛載,第一個0代表不備份,第二個0代表不檢測
保存退出以後用df命令查看,發現沒有掛載
mount -a ##讀取文件中的掛載策略,使沒有生效的策略立即生效
註:策略的書寫格式和腳本不同,且開機執行順序優先於rc.local,具體格式可以man 5 fstab查看
5.fstab的報錯
策略文件書寫格式錯誤時,例如:
/dev/vdb1 /mnt defa 0 0 ##錯誤的寫法
重啟會導致系統無法正常啟動
解決方法:
輸入root的密碼登陸,之後上面會有報錯的信息
在無圖形的界面輸入vim /etc/fstab
把錯誤的行命令用#註釋起來,wq退出保存
reboot
系統即可重啟
partprobe ##手動同步分區表
當電腦某一個設備正在被系統使用的時候,他自動讀取分區表就會失敗,所以需要手動讀取
6.swap分區管理
(1)swap分區的建立(設定分區並設定分區標簽為swap,以vdb3為例)
fdisk /dev/vdb ##管理磁盤及分區
t ##修改分區標簽
分區數字 ##修改第幾個的標簽
l ##列出所有代碼,可以看到所有的標簽及對應分區含義
82 ##修改為swap分區
wq ##退出保存
partprobe ##同步分區表
mkswap /dev/vdb3 ##對設備進行swap格式化
swapon -a /dev/vdb3 ##激活
swapon -s ##查看是否激活
註:這個操作也是臨時的,重啟後會消失,如果想要永久激活,還是要寫入 /dev/fstab
vim /etc/fstab
/dev/vdb6 swap
swap defaults 0
0
(2)swap的刪除
vim /etc/fstab
#/dev/vdb3 swap
swap defaults 0 0 ##將這行刪除或者註釋掉
swapoff /dev/vdb3 ##刪除swap分區
swapon -s ##查看
7.用戶配額設定(分配額度,最大能使用額度)
配額是針對分區(比方:student用戶在某一個設備的配額是定的,在別的不一定,如果配額是針對用戶的話,那就代表在電腦裏只能編寫定額的文件)
mount -o usrquota /dev/vdb7 /student
chmod 777 /student
edquota -u student ##設定所有人的配額,在開機的時候會失效,因為掛載是臨時的
永久掛載:
vim /etc/fstab
/dev/vdb7 /student
xfs defaults,usrquota(參數)
0 0
測試:(用設定的用戶測)
dd if=/dev/zero
of=/student/studentfile bs=1M count=200
du -sh /student
示例:
重新建立一個磁盤分區/dev/vdb7
mkdir /student
chmod 777 /student
ls -ld /student
mount /dev/vdb7 /student
ls -ld /student ##此時權限改成了755
註意:先掛設備再改目錄權限,因為目錄權限本身是記錄在設備裏的,每掛載之前和掛載之後度的設備不一樣,剛開始讀的是/dev/vda1,掛載後讀的是/dev/vdb7.
8.設備的加密——luks(基於文件系統的加密)
cryptsetup luksFormat /dev/vdb8 ##加密格式化
YES ##必須要大寫
cryptsetup open /dev/vdb8 hello(名字任意的)
mkfs.xfs /dev/mapper/hello ##格式化 mapper虛擬設備
mount /dev/mapper/hello /mnt
touch /mnt/file{1..6}
umount /mnt
cryptsetup close hello
查看:
cryptsetup open /dev/vdb8 hello ##需要密碼
mount /dev/mapper/hello /mnt
Linux從入門到精通——系統分區及文件系統的管理