llinux中的系統分割槽管理
1.本地儲存裝置的識別
1.裝置檢視
1.df ##系統正在掛載的裝置有哪些
2.fdisk -l ##顯示真實存在的裝置
3.cat /proc/partitions ##系統識別的裝置
4.blkid ##系統可使用的裝置
使用fdisk -l,我們可以檢視本機的真實存在的裝置有哪些: 我們可以看到,本機上有一塊500G的硬碟,還有兩塊虛擬裝置 2.對於裝置名稱,遵循以下規則:
/dev/xdx:/dev/sda /dev/sdb... ##(d->disk)硬碟儲存裝置 ##注意:sda--> s:sata(串列埠) d:disk(硬碟) a:代表第一塊硬碟 ##同理:sda1-->第一塊串列埠硬碟的第一個扇區 /dev/sr0: ##光碟機裝置 /dev/mapper/* ##虛擬裝置
注意:在liunx中掛載是一個很重要的功能,它將一個裝置掛接到一個已經存在的目錄上,掛載完成後此目錄下以前的檔案將不可用,linux將所有的裝置都對映為檔案,它將整個計算機的資源都整合成一個大的檔案目錄,我們要訪問儲存裝置中的檔案,必須將檔案所在的分割槽掛載到一個已經存在的目錄上,然後通過訪問此目錄來訪問儲存裝置 使用df,我們可以檢視當前掛載的裝置有哪些: 在系統中可能存在很多裝置,有些裝置系統可以識別,有些則不能, /proc/partitions檢視此檔案,我們可以檢視到系統此時已經識別的裝置:
blkid ##此命令用來顯示系統當前可以使用的裝置
2.裝置的掛載和解除安裝
mount 裝置 掛載點 ##將此裝置掛載到指定目錄 ##掛載點必須是一個目錄,掛載後此目錄之前存在的檔案不能使用 mount /dev/sdb1 /mnt ##掛載裝置sdb1到/mnt
我們可以看到,插入u盤,此u盤有預設的掛載目錄:
此時,我們將u盤掛載到/mnt/目錄下:
我們進入/mnt目錄,邊可以檢視u盤中的內容,下圖中,檔案中,顯示的檔案全是問號的原因是因為檔名中包含有中文字元,編碼錯誤所以顯示為問號:
使用mount,可以檢視當前裝置的掛載資訊:
“注意”:上圖中,u盤裝置sdb1是讀寫掛載,所以我們可以在對u盤進行讀寫,若此時是隻讀掛載,我們是不能在u盤中寫入檔案的
例如:在讀寫掛載的情況下,我們可以刪除u盤中的檔案/目錄:
也可以新建檔案/目錄:
當我解除安裝裝置的時候,可能會出現以下“裝置正忙”的情況:
我們能可以使用以下兩種方法:
1).lsof /mnt/ ##檢視佔用/mnt的程序
fuser -kvm /mnt/
umount /mnt
此時可以正常解除安裝:
3.系統分割槽
1.一些關於硬碟儲存原理的知識請參考此博文:https://blog.csdn.net/yehenhei/article/details/53033995
2.在我們以下實驗中,我們需要了解一些基礎知識:
硬碟的0磁軌1扇區,是系統剛開啟時磁頭停留的位置,磁頭再次讀取資訊一邊決定接下來要做的事情,我們已經知道,1個扇區包含512個位元組,其中包含:
446位元組的資訊:MBR(master boot record)稱為主引導分割槽,,它用於硬碟啟動時將系統控制轉給使用者指定的並在分割槽表中登記了的某個作業系統;
2位元組的硬碟有效性標識:55AA,這部分內容是固定的無法更改;
64位元組的分割槽表:分割槽表用來記錄系統的分割槽設定,例如我們在windows常設定c盤,d盤等,就是對系統進行分割槽。
在分割槽表中,由於每個分割槽記錄16位元組,因此最多可以劃分4個分割槽,這4個分割槽稱為主分割槽(P),顯然,只能劃分4個分割槽對我們來說在某些應用場景下是遠遠不夠的,但是,我們的分割槽表容量有限,那麼此時我們怎麼辦?
我們可以在其中一個主分割槽中在進行分割槽的劃分,這個主分割槽稱為擴充套件分割槽(E),其內的子分割槽稱為邏輯分割槽(L),邏輯分割槽的分割槽表就儲存在擴充套件分割槽內,而主分割槽的分割槽表則存在於0磁軌1扇區中的分割槽表內。
3.系統分區劃分:
1).檢視系統當前可識別的硬體,我們可以看到,/dev/vda中已有分區劃分,而/dev/vdb是一塊10G空硬碟空間:
2).fdisk /dev/vdb ##對/dev/vdb進行分割槽
劃分完成後,我們檢視當前系統可以識別的分割槽:
我們再檢視此時可用的分割槽:
2.對新分割槽新增檔案系統
我們發現此時/dev/sdb1並不可用,這是因為我們沒有給新劃分的分割槽新增檔案系統,當前我們可以使用的檔案系統有:ext4、ext2、vfat、xfs,相比較二言,xfs的效能穩定,擴充套件性強,並且檔案傳輸速率高,是目前的主流檔案系統,因此,我們選擇給新分割槽新增檔案系統型別為xfs:
mkfs.xfs /dev/vdb1 ##為新分割槽新增xfs檔案系統
新增完成後,我們可以看到此時vdb1可用: 此時我們可以將vdb1掛載到/mnt目錄下: 3.再新建分割槽2,3,4;對分割槽4選擇擴充套件分割槽 由於2,3分割槽為主分割槽,新增步驟與上訴方法相同,因此以下展示分割槽4(擴充套件分割槽)的新增: 注意,在新增完成後,會出現如下警告: 意思是,我們需要重啟或者同步分割槽表才可以使配置生效 3.同步分割槽表 我們可以看到,雖然我們進行了分區劃分,但在系統可識別裝置的檔案中,我們找不到新劃分的分割槽: 因此我們需要同步分割槽表:
partprobe ##將分割槽表同步
同步完成後,我們會看到,剛剛劃分的分割槽此時可以被裝置識別: 4.新增邏輯分割槽: 同步分割槽表: 我們可以看到,在未新增檔案系統時,是不能掛載的,會出現報錯:空的檔案系統型別: 新增檔案系統後,就可以正常掛載: “注意”:裝置在進行掛載時可以讓一個裝置掛載到一個目錄下,也可以使一個裝置掛載到多個目錄,但是不能使多個裝置掛載到一個目錄 如下,我們在根下新建目錄:test 將裝置同時掛載到兩個目錄下: 我們在/mnt下新建檔案,可以看到,此時此檔案我們也可以在/test檔案中看到: 5.開機自動掛載策略檔案 對於我們新劃分的分割槽,使用mount進行掛載後,這種掛載是臨時的,在我們進行重啟後,掛載的資訊會消失,那麼,我們如何設定永久掛載?
vim /etc/fstab ##fstab:開機自動掛載策略檔案
裝置 掛載點 檔案系統型別 掛載引數 是否備份 是否檢測
/dev/vdb1 /mnt xfs defaults 0 0
再重啟,就可以看到此時vdb1自動掛載到/mnt目錄下:
4.swap分割槽管理
1.swap分割槽建立
swapon -s ##列出swap分割槽
在未進行設定的情況下,我們可以看到當前不存在 swap分割槽 2).新建swap分割槽: 同步分割槽表,我們可以看到vdb6為swap分割槽: 3).新增swap分割槽設定:
swapon -a /dev/vdb6 ##臨時新增,可以被系統識別
4).永久新增wsap分割槽
vim /etc/fstab ##永久新增swap分割槽
/dev/vdb6 swap swap defaults 0 0
未新增前,-s不能列出swap分割槽的設定:
永久新增swap分割槽的資訊:
完成後,可以看到
4).swap分割槽刪除
1.刪除fstab中的資訊
2.swapoff /dev/vdb6 ##關閉裝置
3.fdisk /dev/vdb ##刪除分割槽(必須先關閉裝置,再刪除分割槽)
同步分割槽表,檢視分割槽資訊,vdb6的分割槽資訊被刪除:
5.配額
配額是針對裝置的容量限制,使用者只有在指定裝置上被限制使用儲存空間的容量 1.新建目錄 2.掛載裝置,將目錄設定為滿許可權再解除安裝: “注意”:一定要先掛載再修改許可權 3.對裝置開啟限額
mount -o usrquota /dev/vdb5 /pub/
我們可以看到,開啟限額後,mount檢視掛載狀態發生改變: 4.檢視限額是否開啟 5.對使用者配額:
edquota -u student ##對student使用者配額
6.測試: 切換到使用者student: 我們發現,擷取10M資料,對於使用者student來說可以儲存: 但是student想儲存21M的資料,就會提示超出配額,實際儲存為20M: