1、系統中磁盤的管理 node
1.本地存儲設備的識別shell
fdisk -l ## 真實存在的設備(帶*爲啓動分區) vim
cat /proc/partition ## 系統識別的設備 bash
blkid ## 系統可以使用的設備 app
df ## 系統正在掛載的設備 ide
2.設備的掛載和卸載(設備的管理要用超級用戶) 測試
【1】設備名稱 :ui
/dev/xdx ## /dev/hd0 /dev/hd1 /dev/sda /dev/sdb1 /dev/sda1(第一塊硬盤下的第一個分區)
this
注意:hd是並口硬盤 sd爲串口硬盤(普遍使用)加密
/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/ ## 從新掛載以讀寫的方式
eject 彈出光驅
【3】解決設備正忙狀況(一個shell在mnt目錄下,另外一個shell進行卸載時出現這個問題)
[root@foundation77 mnt]# 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))
解決方法一:fuser -kvm /mnt umount /mnt
解決方法二:lsof /mnt
[root@localhost mnt]# lsof /mnt/
kill -9 PID ## 結束進程的佔用
umount /mnt
3.磁盤分區
【1】硬盤0磁道1扇區的512個字節中記錄的信息以下:
512 = 446 + 64 + 2
446字節爲 mbr(主引導記錄) 64字節爲mpt(主分區表) 2字節爲55aa(硬盤的有效標示)
硬盤分區表:64字節 一個分區佔16個字節 一塊硬盤上最多能夠劃分4個主分區
【2】分區步驟:
fdisk -l ## 查看設備
fdisk /dev/vdb ## 對/dev/vdb進行操做
Command (m for help): m ## 查看命令操做信息
Command action 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)
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
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: 0x0362f010 Device Boot Start End Blocks Id System /dev/vdb1 2048 1026047 512000 83 Linux Command (m for help): wq
注意:當系統有三個主分區的時候,把剩下的全部空間劃分爲擴展分區 ( 進行邏輯分區新建的時候,不提醒劃分的類型,只能是邏輯分區)。
partprobe 同步分區表
cat /proc/partitions
問題1:對剛分區的設備vdb1進行掛載的時候,會提示如下信息
[root@server ~]# mount /dev/vdb1 /mnt/
mount: /dev/vdb1 is write-protected, mounting read-only
mount: unknown filesystem type '(null)'
注意:軟件和硬件是不能夠進行掛載的,只能在硬件上面安裝軟件filesystem (也叫格式化)
解決方法:給設備安裝文件系統
1)系統文件有如下幾種
ext3 rhel5及以前的版本 最多支持32TB的文件系統和2t文件,實際2tb文件系統,單個文件系統不超過16GB
ext4 rhel6 1EB 16TB
xfs rhel7 18EB 9eb 7G/s(吞吐極限) 4G/s(寫入速度) (系統中默認是xfs)
2)格式化成 xfs
mkdf.xfs /dev/vdb1 ## 格式化設備
/dev/vdb1 mount /dev/vdb1 /mnt ## 把設備掛載在/mnt上(臨時的)
實現永久掛載:/etc/fstab(在硬盤檢測以後,內核啓動以後會進行加載)
vim /etc/fstab
/dev/vdb1 /mnt xfs defaults 0 0 ## 參數分別爲:設備 掛載點 文件系統 掛載參數 是否備份 是否檢測
mount -a ## 讀取文件裏的掛載策略,是沒生效的掛載策略當即生效 df 進行查看
blkid ## 用blkid命令進行查看格式化後設備的連接狀況
2、swap分區的管理爲
1)創建:首先建立一個分區/dev/vdb2,修改類型爲82!
partprobe ##同步分區表
mkswap /dev/vdb2 ##將/dev/vdb2格式化爲swap格式
swapon -a /dev/vdb2
swapon -s ##顯示swap分區的信息
vim /etc/fstab ---> /dev/vdb2 swap swap defaults 0 0 ##設置swap分區,使其開機自動分區
swapon -a
2)swap分區的刪除
vim /etc/fstab --->刪除裏面SWP分區設置的那行
swapoff /dev/vdb6
swapon -s
3、fatab文件寫錯後的解決方法
步驟:
1)先輸入超級用戶密碼
2)vim /etc/fstab
3)註釋錯誤的那行
4)再輸入密碼
5)reboot
4、用戶額度的設定
1)mount -o usrquota /dev/vdb2 /public ## 把/dec/vdb2設備進行設定並掛載在/public上
2) chmod 777 /public
3) edquote -u student ## 對student 用戶進行大小限定(其中blocks和inodes不能更改,並設定文件大小爲20M)
/dev/vdb2 /public xfs defaults,usrquota 0 0
超過存儲大小以後結果:
5、設備加密
意思說,首先對設備進行加密,而後對加密設備進行操做。
1)對設備進行LUKS加密
[root@localhost mnt]# blkid
/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"
/dev/vdb1: UUID="3134455c-5d33-4fbd-826d-a4123f78ba9d" TYPE="xfs"
/dev/vdb2: UUID="08d6ec47-da72-4e16-a901-86029b6e4772" TYPE="xfs"
/dev/vdb3: UUID="3cb27ea9-985c-45fa-9d37-a8ec2d5a58ae" TYPE="xfs"
/dev/vdb5: UUID="3053bd27-8051-4f9f-b8e5-b2740185bc13" TYPE="xfs"
[root@localhost mnt]# cryptsetup luksFormat /dev/vdb5 ## 對/dev/vdb5進行加密
WARNING! ======== This will overwrite data on /dev/vdb5 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase:
Error reading passphrase from terminal. Enter passphrase: Verify passphrase:
2)要存文件時,對其解密
[root@localhost mnt]# cryptsetup open /dev/vdb5 westos ## 解密,解密設備爲westos
Enter passphrase for /dev/vdb5:
[root@localhost mnt]# ll /dev/mapper/westos ## mapper虛擬設備,westos爲/etc/vdb5解密後的形態
lrwxrwxrwx. 1 root root 7 Aug 3 10:49 /dev/mapper/westos -> ../dm-0
3)關閉westos設備,就不能夠該設備進行操做
[root@localhost mnt]# cryptsetup close westos
[root@localhost mnt]# ll /dev/mapper/westos
ls: cannot access /dev/mapper/westos: No such file or directory
4)若想要進行操做,使用open 進行解密
[root@localhost mnt]# cryptsetup open /dev/vdb5 westos
注意:加密、解密要在無掛載的條件的下。
示例: cryptsetup luksFormat /dev/vdb5
cryptsetup open /dev/vdb5 westos
mkfs.xfs /dev/mapper/westos
mount /dev/mapper/westos /mnt/
touch /mnt/file{1..2}
umount /mnt/
cryptsetup close westos
cryptsetup open /dev/vdb5 west1
mount /dev/mapper/west1 /mnt/