linux學習之旅(十五(上))&磁盤

磁盤管理

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 分區表,mbrgpt的解釋:
    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                      ##格式化加密磁盤


//成功刪除

//重新掛載

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章