磁盤管理
1.磁盤有關知識簡介
mpt :分區表 硬盤有效性標識
mbr:分區方式 ,最多只能有四個主分區
擴展分區 :擴展分區是一個容器 mbr方式 每個分區最大2Tb
邏輯分區 :容器裏面的 gpt GUID 磁碟分割表( GUID Partition Table ,縮寫: GPT)其含義爲“全局唯一標識磁盤分區表” 與 MBR 最大 4 個分區表項的限制相比, GPT 對分區數量沒有 限制 Windows 最大僅支持128 個 GPT 分區 GPT 可管理硬盤大小達到了 18EB
swap :交換分區 換空間或交換區是磁盤驅動器上的空間 , 用作當前未使用部分內存的溢出。這樣 ,系統就能在主內存中留出空間用於儲存當前正在處理的數據 , 並在系統面臨主內存空間不足的風險時提供應急溢出
文件系統:
ntfs //linux
ext4 //是 Red Hat Enterprise Linux 6 的標準文件系統。它非常強大可靠 , 具有多項可以提高現代工作量處理性能的功能
ext2 //是常用於 Linux 中的較舊的文件系統。它簡單可靠 ,非常適合小型存儲設備 , 但是效率低於ext4
vfat //支持包括一系列相關文件系統 ( VFAT/FAT16,FAT32 ), 這些文件系統針對較舊版本的 Microsoft Windows 開發 , 在大量的系統和設備上受支持,適用linux和windows
fat //微軟的版權,不是開源的,每臺手機都有,需要給微軟交版權費
xfs //在 Red Hat Enterprise Linux 7 的標準文件系統其具備數據完全、性能穩定、擴展性強( 8eb-1byte ) 、傳輸速率高 ( 7G/s )
- mpt 分區表,mbr與gpt的解釋:
1)mrb用於win平臺 ,gpt主要用於mac(蘋果)
2)MBR分區表與GPT分區表的關係: 與支持最大卷爲2TB(Terabytes)並且每個磁盤最多有4個主分區(或3個主分區,1個擴展分區和無限制的邏輯驅動器)的MBR磁盤分區的樣式比,GPT磁盤分區樣式支持最大卷爲18 EB(Exabytes)並且每磁盤的分區數沒有上限,只受到操作系統限制(由於分區表本身需要佔用一定空間,最初規劃硬盤分區時,留給分區表的空間決定了最多可以有多少個分區,IA-64版Windows限制最多有128個分區,這也是EFI標準規定的分區表的最小尺寸)。與MBR分區的磁盤不同,至關重要的平臺操作數據位於分區,而不是位於非分區或隱藏扇區。另外,GPT分區磁盤有備份分區表來提高分區數據結構的完整性。
2.磁盤查看命令
fdisk -l ##系統中的所有磁盤設備(看到的不一定是能用的,因爲沒有文件系統)
*Fdisk是IBM的老牌分區工具,支持絕大多數操作系統,幾乎所有的Linux操作系統都默認裝有fdisk;包括在Linux Rescue模式下依然能夠使用。
*fdisk是基於MBR的分區工具(是當年IBM設計給PC機來使用的),所以如果需要使用GPT,則無法使用fdisk進行分區
*只有超級用戶權限(如root,Uid=0的;可以用在命令行中輸入id來查詢)纔可以執行fdisk,因爲命令都是在/sbin下面,需要特權級的用戶
df -TH ##系統正在掛載的磁盤設備
blkid ##系統可以掛載的磁盤設備id,(磁盤設備不一定都可以被掛載)(能看見的都是有文件系統的)
後面兩個查看到的一定是可以使用的
使用fdisk -l 查看到的信息
3.分區劃分:fdisk
[root@localhost ~]# fdisk /dev/vdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): m ##獲得幫助
Command action
a toggle a bootable flag ##設置可引導標記
b edit bsd disklabel ##修改bsd的磁盤標籤
c toggle the dos compatibility flag ##設置DOS操作系統兼容標記
d delete a partition ##刪除分區
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types ##列出系統可用分區類型,其中82爲Linux swap分區,83爲Linux分區
m print this menu ##顯示幫助信息
n add a new partition ##新建分區
o create a new empty DOS partition table ##創建一個新的空白的DOS分區表
p print the partition table ##顯示分區
q quit without saving changes ##退出,並不保存修改
s create a new empty Sun disklabel ##創建一個新的空白的Sun磁盤標籤
t change a partition's system id ##改變一個分區的系統號碼(比如把Linux Swap分區改爲Linux分區)
u change display/entry units ##改變顯示記錄單位
v verify the partition table ##對磁盤分區表進行驗證
w write table to disk and exit ##保存更改到分區表中
x extra functionality (experts only)
Command (m for help): n ##新建分區
Partition type:
p primary (1 primary, 0 extended, 3 free) ##分區類型爲主分區
e extended ##分區類型爲擴展分區
Select (default p): p
Partition number (2-4, default 2): 2 ##主分區id
First sector (206848-20971519, default 206848): ##此分區的起始位置
Using default value 206848
Last sector, +sectors or +size{K,M,G} (206848-20971519, default 20971519): +200M ##分區大小
Partition 2 of type Linux and of size 200 MiB is set
Command (m for help): wq ##保存並退出,只輸入q則表示放棄更改退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]#
partprobe ##同步分區表
cat /proc/partprobe ##查看系統識別的分區信息
mkfs.xfs /dev/vdb1 ##格式化
##格式化的作用,對硬件的操作,爲了裝軟件,這裏是爲了裝文件系統
mount /dev/vdb1 /mnt ##臨時掛載
mount -a ##使掛載策略生效(all 所有的)
df ##查看是否生效
vim /etc/fstab ##永久掛載
#編寫格式:
##掛載的文件 掛載點 文件系統類型 defaults(默認,mountpoint) 0 0 (第一個不檢測,第二個不備份)
device mountpoint ftype defaults(mountpoint) 0 0
/dev/vdb1 /mnt xfs defaults 0 0
mount -a ##使/etc/fastab中記錄的掛載生效
vim /etc/fstab 設置永久掛載:
- 注意:
在退出時,要看wq之後系統反饋是什麼,保存退出後,若顯示下圖,一定要手動partprobe重讀分區表,所以,也可以養成每次退出都手動重讀,保證準確率
刪除分區時
先使用umount命令解除掛載
- 注:
- 當掛載點被使用時,無法解除掛載,那麼 fuser -vm /mnt 查看mount進程 ,fuser -kvm /mnt 直接結束進程,然後進行解除掛載
解除掛載之後,使用fdisk /dev/vdb命令 刪除分區
cat /proc/partitions發現vdb1已經刪除
4.設定分區方式,將mkdocs 改爲 gpt格式
##更改之前需要把正在使用的分區關閉,纔可以進行更改
partd /dev/vdb
..)help
..)mklabel
..? gpt
..)quit
partprobe ##從讀分區表
cat /proc/partitions
mkfx.xfs /dev/vdb1
##若提示你需要強制覆蓋 加上 -f 參數(強制)
mount /dev/vdb1 /mnt
df ## 查看
blkid ##發現gpt下,多出了很多信息,PARTUUID=...
//最後的信息一定要仔細看,可能會讓你重新讀分區表或怎麼樣,這裏的提示生級可以忽略
5.添加swap分區
fdisk /dev/vdb ##添加一個分區
//注意,在t修改之後,要用l開查看你所要使用的分區類型,這裏查看到是14
6.更改gpt下的swap 爲mkdos下的swap
##gpt改變之前一定保證系統沒有被利用,不然系統會問題,因爲還有進程在用,改變會出錯
umount
swapoff
parted /dev/vdb
..)mklabel
..)msdos
..)quit
##查看退出時系統提示信息
fdisk /dev/vdb
..)n---->p---->...(+size)
..)t---->l---->82---->wq
partprobe
mkswap /dev/vdb1
swapon -a /dev/vdb1 ##激活新交換區
swapon -s ##顯示當前交換區的狀態
swapoff /dev/vdaN ##停用該特定交換區
##啓動自動激活swap ,還是fstab
#設置/etc/fstab
/dev/vdb swap swap 0 0 ##(系統自己會用swap,不用掛載點)
//這裏查看到需要的分區類型是82,不同的分區方式讀的不同,一定要按l仔細查看後選擇
7.用文件來添加swap分區
dd if輸入=/dev/zero of輸出=/swapfile bs一塊大小=1M count一共多大=1000 ##截取/swapfile
mkswap /swapfile ##格式化爲swap類型
swapon -a /swapfile ##臨時添加到swap裏
swapon -s ##查看
swapon -a ... -p number ##掛上,並且-p設定優先級number表示優先級
vim /etc/fstab
man swapon
/swapfile swap swap defaults,pri=n 0 0 #pri優先級
然後掛上
首先 man swapon
//發現 -p參數可以改變分區的優先級
添加文件配置:
8.刪除swap分區
vim /etc/fstab ##刪除此文件中添加的swap行
swapoff /swapfile ##斷開swap文件鏈接
swapoff /dev/vdb1 ##斷開swap磁盤鏈接
rm -rf /swapfile ##刪除文件
fdisk /dev/vdb ##刪除磁盤分區
partprobe ##同步分區表
9.磁盤加密
1.磁盤加密與取消
對文件系統加密
這樣,即使破壞了文件系統,文件也不會顯示出來,就變成加密字符,誰也用不了了,只能暴力破解。
創建設備,安裝加密層,打開加密層格式化解密後設備
fdisk /dev/vdb ##創建新分區
cryptsetup luksFormat /dev/vdb1 ##加密
//cryptsetup 後面的參數自動補不齊,手敲,,大寫YES確定,小寫無效
##再次打開時,需要open /dev/vdbn fsname ,裏面的close 也需要自己手動輸入 fsname
cryptsetup open /dev/vdb1 100jkyuanxudong ##打開加密的分區
mkfs.xfs /dev/mapper/100jkyuanxudong ##格式化分區爲xfs格式
mount /dev/mapper/100jkyuanxudong /mnt ##掛載
##不能直接掛載/dev/vdb1,會提示該分區爲加密分區,無法掛載,必須open後纔可以掛載。
//不管名字,進入的是同一個地方
2.加密磁盤的永久掛載
vim /etc/crypttab
"解密後設備管理文件 設備 加密字符存放文件"
redhat /dev/vdb1 /root/lukspsfile
vim /root/lukspsfile
chmod 600 /root/lukspsfile ##這是保證文件的安全性
cryptsetup luksAddKey /dev/vdb1 /root/lukspsfile
##luksAddKey 注意兩個字母大寫,輸入的是/dev/vdbn 的密碼
vim /etc/fstab
/dev/mapper/100jkyuanxudong /mnt xfs defaults 0 0
##fstab裏面的文件名一定要和crypttab的一樣!!
reboot ##重啓測驗是否永久掛載
reboot之後:
3.加密清除
vim /etc/fstab ##清除開機自動掛載
vim /etc/crypttab ##清除解密配置文件
rm -fr /root/lukspasswd ##刪除密碼存放文件
umount /mnt ##取消掛載
cryptsetup close /dev/mapper/redhat ##關閉加密磁盤
mkfs.xfs /dev/vdb1 -f ##格式化加密磁盤
//成功刪除
//重新掛載