1. 程式人生 > >linux系統分割槽管理

linux系統分割槽管理

學習目標

  • 新增檔案系統空間
  • 新增 swap 交換分割槽
  • 對系統分割槽加密

1.本地儲存裝置的識別

fdisk -l		#真實存在的裝置(不一定系統識別)
cat /proc/partitions 	#系統識別的裝置
sda 			#硬碟
sr0 			#光碟機
loop 			#映象
sdb 			#u盤
eject 			#光碟機彈出
blkid 			#系統可以使用的裝置
df			#系統正在掛載的裝置
unmount /dev/sdb1 	#拔優盤

在這裡插入圖片描述

在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述

2.裝置的掛載和解除安裝

1>.裝置名稱

/dev/xdx	##/dev/hd0 /dev/hd1 /dev/sda /dev/sdb /dev/sda1 /dev/sdb1
/dev/sr0	##光碟機
/dev/mapper/*	##虛擬裝置(用軟體模擬出來的)

2>.裝置的掛載

mount 	裝置 				掛載點
mount /dev/sdb1 /mnt  			#掛載sdb1到mnt
umount /mnt |	/dev/sdb1		#解除安裝
mount -o ro /dev/sdb1 /mnt		#只讀掛載
mount					#檢視掛載資訊
mount -o  remount,rw /dev/sdb1/mnt 	#重新讀寫掛載

示例:

(1)

   [[email protected] ~]# mount 檢視掛載資訊:優盤現在是讀寫掛載

在這裡插入圖片描述 在這裡插入圖片描述

(2) [[email protected] ~]# mount /dev/sdb1 /mnt/ ##把優盤掛載在/mnt 下

在這裡插入圖片描述

(3) [[email protected] ~]# umount /mnt/ ##解除掛載在/mnt下

在這裡插入圖片描述 (4)[[email protected] ~]# mount -o ro /dev/sdb1 /mnt/ ##只讀掛載

在這裡插入圖片描述

在這裡插入圖片描述 (5)

[[email protected] ~]# mount -o remount,rw /dev/sdb1 /mnt/

在這裡插入圖片描述

在這裡插入圖片描述

3>.解決裝置正忙問題

[[email protected] ~]# umount /dev/sdb1 umount: /mnt: target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))

示例:此時優盤裝置掛載在/mnt上,一個bash正在使用時,想要解除安裝會報錯。根據報錯提示:我們用lsof或fuser解決。 在這裡插入圖片描述

解決方法1:

lsof /mnt
kill -9 6968
   
  [[email protected] ~]# lsof /mnt/
    lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
          Output information may be incomplete.
    COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    bash    6081 root  cwd    DIR   8,17     8192    1 /mnt

這裡可以看見程序pid為3395,kill -9 3395,執行後進程被停止 在這裡插入圖片描述 在這裡插入圖片描述

解決方法2:

fuser -vm /mnt ##檢視
[[email protected] ~]# fuser -vm /mnt/
                     USER        PID ACCESS COMMAND
/mnt:                root     kernel mount /mnt
                     root       5309 ..c.. bash

fuser -kvm /mnt ##檢視並結束
[[email protected] ~]# fuser -kvm /mnt/
                     USER        PID ACCESS COMMAND
/mnt:                root     kernel mount /mnt
                     root       5663 ..c.. bash

在這裡插入圖片描述 在這裡插入圖片描述

3.磁碟分割槽 MBR 主引導位元組 446位元組 MPT主分割槽表64位元組 硬碟的有效標識 2位元組

在server虛擬機器: 1.把主引導位元組刪除 dd if=/dev/zero of=/dev/vda bs=446 count=1 2.新增映象–>調整映象的順序在Disk1 Disk2之後 3.重啟–>troubleshooting–>rescue a redhat enterprise linux system -->一路回車–> chroot /mnt/sysimage/ -->grub2-install /dev/vda -->exit–>exit–>調整映象順序放在最後–>重啟即可

示例:

[[email protected] ~]# dd if=/dev/zero of=/dev/vda bs=446 count=1  ##MBR被清空

在這裡插入圖片描述 虛擬機器重啟發生錯誤,不能開機。下面講解如何修復MBR: 在這裡插入圖片描述 在virt-manager中,新增映象,並把映象放在開機裝置的第一個。 在這裡插入圖片描述 選擇第三個Troubleshooting 在這裡插入圖片描述

選擇第二個Rescue a Red Hat Enterprise Linux system 在這裡插入圖片描述 一路回車 在這裡插入圖片描述 在這裡插入圖片描述

在這裡插入圖片描述 我們得到一個shell,按照圖片進行操作後退出。 在這裡插入圖片描述 關閉虛擬機器–>把映象的順序放到最後一個—>重啟虛擬機器 在這裡插入圖片描述 虛擬機器啟動成功 在這裡插入圖片描述

常用於分割槽的命令

1.fdisk -l					#列出磁碟分割槽資訊
2.fdisk /dev/vdb
進入後:
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition   			#刪除
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu   	 		#檢視命令作用
   n   add a new partition			#新建
   o   create a new empty DOS partition table
   p   print the partition table		#顯示分割槽資訊
   q   quit without saving changes		#退出
   s   create a new empty Sun disklabel
   t   change a partition's system id		#修改分割槽id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit		#儲存
   x   extra functionality (experts only)

在這裡插入圖片描述 1>新建主分割槽

Command (m for help): n				#新建
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p				#主分割槽
Partition number (1-4, default 1):		#id用預設
First sector (2048-20971519, default 2048): 	#分割槽起始
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +500M 									
						#分割槽大小
Partition 1 of type Linux and of size 500 MiB is set

在這裡插入圖片描述

2>顯示分割槽資訊

Command (m for help): p		#顯示分割槽資訊			

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x9e92ec35

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048     1026047      512000   83  Linux

3>新建拓展分割槽

Command (m for help): n			#新建擴充套件分割槽
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): 			#當有三個主分割槽時需要先劃分擴充套件分割槽
Using default response e
Selected partition 4
First sector (3074048-20971519, default 3074048): 
Using default value 3074048
Last sector, +sectors or +size{K,M,G} (3074048-20971519, default 20971519): 
Using default value 20971519		##把所有剩餘空加都給擴充套件分割槽
Partition 4 of type Extended and of size 8.5 GiB is set

在這裡插入圖片描述 4>檢視分割槽資訊

Command (m for help): p			#檢視分割槽

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x9e92ec35

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048     1026047      512000   83  Linux
/dev/vdb2         1026048     2050047      512000   83  Linux
/dev/vdb3         2050048     3074047      512000   83  Linux
/dev/vdb4         3074048    20971519     8948736    5  Extended

在這裡插入圖片描述 不要忘了,最後wq儲存退出 在這裡插入圖片描述

4.給裝置安裝檔案系統

檔案系統比較: ext4 是 Red Hat Enterprise Linux 6 的標準檔案系統。它非常強大可靠 , 具有多項可以提高現代工作量處理效能的功能ext2 是常用於 Linux 中的較舊的檔案系統。它簡單可靠 ,非常適合小型儲存裝置 , 但是效率低於 ext4vfat 支援包括一系列相關檔案系統 ( VFAT/FAT16,FAT32 ), 這些檔案系統針對較舊版本的 MicrosoftWindows 開發 , 在大量的系統和裝置上受支援xfs 在 Red Hat Enterprise Linux 7 的標準檔案系統其具備資料完全、效能穩定、擴充套件性強 ( 8eb-1byte ) 、傳輸速率高 ( 7G/s )

mkfs.xfs	/dev/vdb1		#格式化安裝檔案系統
mount /dev/vdb1 /mnt			#可以正常掛載

vim /etc/fstab 				#永久掛載
UUID=9bf6b9f7-92ad-441b-848e-0257cbb883d1 /                       xfs     defaults        1 1
/dev/vdb1       /mnt    xfs     defaults        0 0

00 是否(不)備份 是否(不)檢測
  mount -a 檢測

直接掛載vdb1發現不可以,現在需要給vdb1安裝檔案系統 在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述 重啟後掛載還在 在這裡插入圖片描述 在這裡插入圖片描述

5.swap分割槽的管理 1>.swap分割槽建立 劃分分割槽並設定分割槽標籤為82: 示例: 新建vdb5 在這裡插入圖片描述 發現在這裡檢視不到vdb5,則需要重啟 在這裡插入圖片描述

在這裡插入圖片描述

fdisk /dev/vdb
partpeobe
mkswap /dev/vdb6		#裝系統
swapon -a /dev/vdb6  		# 掛載
swaon -s    			#檢視

Filename				Type		Size	Used	Priority
/dev/vdb6                              	partition	511996	0	-1

vim /etc/fstab

/dev/vdb6 	swap swap defaults 0 0

在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述

在這裡插入圖片描述

2>.swap 分割槽的刪除

vim /etc/fstab		#刪除fstab中掛載內容
swapoff /dev/vdb6	#刪除swap分割槽
swapon -s 		#檢視

在這裡插入圖片描述 在這裡插入圖片描述

6.使用者配額

fdisk /dev/vdb 		#新建vdb7分割槽
mkfs.xfs /dev/vdb7 	#分割槽,格式化
mkdir /public	
mount -o usrquota /dev/vdb7 /public	#新增usrquota限額功能
chmod 777 /public/
edquota -u student

Disk quotas for user student (uid 1000):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/vdb7                     0          0          20480          0        0        0
vim /etc/fstab #自動掛載
/dev/vdb7	/public		xfs	defaults,usrquota	0 0

blocks使用者已經總共存在資料大小 soft 軟限制:超過警告 hard 硬限:超過報錯 inodes 檔案個數

測試: 切換到student

[[email protected] ~]$ dd if=/dev/zero of=/public/studentfile bs=1M count=500 

示例: 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述

在這裡插入圖片描述 新增usrquota功能,這個chmod 777 /public 應在掛載後執行,這裡錯誤。 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述

測試,大於20M不能執行 在這裡插入圖片描述

7.磁碟加密

1>.分割槽

fdisk /dev/vdb

在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 2>.

cryptsetup luksFormat /dev/vdb8		#加鎖
YES

3>.

cryptsetup open /dev/vdb8 westos	#起名叫westos
mkfs.xfs /dev/mapper/westos		#格式化
mount /dev/mapper/westos /mnt/		#掛載
touch /mnt/file{1..10}			
umount /mnt/

在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述

cryptsetup close westos		##關閉之後,/dev/mapper/westos檔案消失,掛載原始裝置也不能檢視其中的內容

cryptsetup open /dev/vdb8 linux	##重新起名字為linux
mount /dev/mapper/linux /mnt

在這裡插入圖片描述 在這裡插入圖片描述