1. 程式人生 > >磁碟建立swap分割槽,gpt分割槽和磁碟LUKS加密、配額

磁碟建立swap分割槽,gpt分割槽和磁碟LUKS加密、配額

(一)swap分割槽的建立 1.概述 當系統的實體記憶體不夠用的時候,就需要將實體記憶體中的一部分空間釋放出來,以供當前執行的程式使用。那些被釋放的空間可能來自一些很長時間沒有什麼操作的程式,這些被釋放的空間被臨時儲存到Swap空間中,等到那些程式要執行時,再從Swap中恢復儲存的資料到記憶體中。這樣,系統總是在實體記憶體不夠時,才進行Swap交換。 這個是SWAP 交換分割槽的作用。 實際上,我們更關注的應該是SWAP分割槽的大小問題。 設定多大才是最優的。

一般來說可以按照如下規則設定swap大小:

4G以內的實體記憶體,SWAP 設定為記憶體的2倍。

4-8G的實體記憶體,SWAP 等於記憶體大小。

8-64G 的實體記憶體,SWAP 設定為8G。

64-256G實體記憶體,SWAP 設定為16G。

實際上,系統中交換分割槽的大小並不取決於實體記憶體的量,而是取決於系統中記憶體的負荷,所以在安裝系統時要根據具體的業務來設定SWAP的值。

2.建立swap分割槽 2.1 臨時啟用swap分割槽(關機後失效) swap 分割槽本身也是一個分割槽,所以需要先建立一個普通分割槽,再通過修改分割槽id(分割槽功能標識)來建立swap 分割槽。 先建立一個100M的分割槽 在這裡插入圖片描述 補充:這裡m獲得的幫助註釋 在這裡插入圖片描述 a ##切換分割槽啟動標記 b ##編輯bsd磁碟標籤 c ##切換dos相容模式 d ##刪除分割槽

l ##顯示分割槽型別 m ##顯示幫助選單 n ##新建分割槽 o ##建立新的空分割槽表 p ##顯示分割槽表資訊 q ##不儲存退出 s ##建立新的Sun磁碟標籤 t ##修改分割槽id,可以通過l檢視id u ##修改容量單位,磁柱或扇區 v ##檢驗分割槽表 w ##儲存並退出 x ##擴充套件功能

通過“t“修改分割槽id為82(表中82對應linux swap), 在這裡插入圖片描述 通過p命令檢視結果 在這裡插入圖片描述 可以看到vdb1已經為swap分割槽 partprobe同步分割槽表(讓核心立刻讀取新的分割槽表,識別新的分割槽) mkswap /dev/vdb1格式化檔案系統為swap格式 在這裡插入圖片描述

通過blkid(檢視可使用的裝置)命令看到vdb1檔案系統格式已經改為"swap“ 在這裡插入圖片描述 swapon -a /dev/vdb1##啟用啟用此swap分割槽 swapon -s ##檢視當前swap分割槽狀態(不顯示代表沒有swap分割槽)

swapon -s 等於cat /proc/swaps

2.2永久啟用swap分割槽 需要編輯/etc/fstab檔案 新增/dev/vdb1 swap swap defaults o o ##第一列為裝置名稱,裝置為vdb1;第二列為掛載目錄的名稱;第三列為檔案系統型別,此處為swap;第四列為掛載引數為defaults預設;第五列指定該檔案系統是否使用dump進行備份(0表示不備份,1表示每天備份);第六列指定該檔案系統在開機後使用fsck程式進行磁碟檢測的順序(根檔案系統需要指定為1,其他檔案系統一般為2,0表示不需要進行磁碟檢測) 在這裡插入圖片描述 重啟後swapon -s 仍然能看到

2.3使用檔案作為swap分割槽 dd if=/dev/zero of=/swapfile bs=1M count=1000 ##在/目錄下生成一個1000M的檔案swapfile mkswap /swapfile ##格式化 swapon -a /swapfile ###啟用 swapon -s ##檢視 在這裡插入圖片描述 可以看到多了一個swap分割槽,一個型別為partition,一個為file

刪除swap分割槽 partiton型別的swapoff /dev/vdb1並從/etc/fstab中刪除相應記錄然後fdisk /dev/vdb並選擇“d“刪除vdb1 file型別swapoff /swapfile 然後 rm -fr /swapfile

(二)修改分割槽表型別 傳統的MBR分割槽有多種限制,如最多支援4個主分割槽,無法建立大於2TB的分割槽,而GPT分割槽則不受這樣的限制,而且GPT分割槽提供了分割槽表的冗餘以實現分割槽表的備份與安全。但fdisk命令不支援GPT分割槽方式,我們需要使用另一個分割槽工具parted。 注意:改變分割槽方式後,原有磁碟中的資料將全部丟失,因此要好好儲存自己的資料備份。 在這裡插入圖片描述 mktable(或mklable)+ tab可以看到型別有很多,我們選擇GPT形式的 在這裡插入圖片描述 通過fdisk -l命令可以看到分割槽表型別已經改為GPT形式

(三)磁碟加密LUKS

先提一下“dm-crypt”和“cryptsetup”。“dm-crypt”是 Linux 核心提供的一個磁碟加密功能,而“cryptsetup”是一個命令列的前端(通過它來操作“dm-crypt”)。而luks加密是 dm-crypt 最常用的一種模式。LUKS(linux unified key setup) cryptsetup是一種裝置的對映關係,用它來把一個裝置對映成另一個裝置,(這個對映的過程需要密碼),對映到/dev/mapper目錄下。我們只能對新對映的裝置進行掛載操作,這樣使原裝置不會被直接使用,從而達到一種安全效果。 cryptsetup工具加密的特點: 加密後不能直接掛載; 加密後硬碟丟失也不用擔心資料被盜; 加密後必須做對映才能掛載。

開始實驗: 1.暫時加密 先檢視可使用的裝置有哪些 在這裡插入圖片描述 本次實驗以vdb1為物件 1.1對vdb1加密: cryptsetup luksFormat /dev/vdb1,然後輸入大寫的YES還有密碼要複雜一點,大於8位,不要是字典順序 在這裡插入圖片描述 可以看到blkid下vdb1的型別為crypto_LUKS 在這裡插入圖片描述 可以看到不能對vdb1進行掛載 1.2做對映 cryptsetup open /dev/vdb1 weistos (原裝置名稱加對映裝置名稱westos) 格式化對映裝置mkfs.xfs /dev/mapper/westos

在這裡插入圖片描述 blkid看到可識別新的對映裝置,檔案系統型別為xfs,接下來我們看能否對對映裝置做操作 在這裡插入圖片描述 可以看到能掛載,大家自己可以看看能不能建立刪除檔案 1.3關閉對映 操作完畢後要關閉對映,先解除掛載,再關閉crytsetup close westos 在這裡插入圖片描述

檢視/dev/mapper變為control

2.開機自動掛載 不用每次開機都要解密掛載一次 2.1 vim /etc/crypttab 輸入westos  /dev/vdb1   /root/westoskey ##記錄解密過程 在這裡插入圖片描述

2.2儲存密碼 在/root/westoskey裡 vim /root/westoskey 輸入密碼westos123 並設定許可權chmod 600 /root/westoskey ##只允許檔案所有者讀寫 2.3關聯裝置和密碼 cryptsetup  luksAddKey   /dev/vdb1   /root/westoskey 2.4設定開機自動掛載 vim /etc/fstab輸入**/dev/mapper/westos**  /mnt   xfs   defaults  0  0 ##把vdb1掛載到/mnt下,格式化xfs檔案系統,一定要注意這裡要掛載的是對映裝置westos,如果寫成vdb1,系統重啟起不來,登陸root使用者用命令進入/etc/fstab修改回來就好了

在這裡插入圖片描述 檢視重啟之前的狀態 在這裡插入圖片描述 編輯完了之後準備重啟看是否生效(生成對映裝置westos並掛載在/mnt下)

在這裡插入圖片描述 可以看到能識別併成功掛載

(四)磁碟配額 先將磁碟型別修改為gpt形式並建立一個100M的分割槽 在這裡插入圖片描述 建立掛載點並掛載(要先掛載再修改許可權,如果修改後再掛載許可權就會變回去) 在這裡插入圖片描述 mount /dev/vdb1 /public -o usrquota ##新增配額功能 mount檢視 quotaon -uv /dev/vdb1 ##開啟配額功能 edquota -u zr ##給zr設定配額(10M) repquota -a ##做限額報表 在這裡插入圖片描述 用zr使用者在/public 下建立檔案第一5M,第二次11M 可以看到只有10M被儲存 在這裡插入圖片描述 永久配額 vim /etc/fstab 在這裡插入圖片描述 在這裡插入圖片描述