您好,登錄后才能下訂單哦!
在Linux中,文件是如何存儲的,磁盤分區的邏輯組成是如何實現的,怎么對磁盤進行分區、格式化、掛載?
文件是如何存儲的 塊組 超級塊 塊組描述符號
文件系統先是分成了多個塊組和超級塊。每個塊組分別包含了inode和data block,每個塊組也包含了inode bitmap和block bitmap;每個塊組還包括了塊組描述符。
超級塊包括的信息: 卷標、掛載時間、UUID、魔數、文件系統特性、掛載的默認選項、文件系統狀態、OS類型、Inode和Block的相關數量、大小、可用數量、 保留的空間等信息。使用tune2fs -l /dev/sda3來查看超級塊的信息。
GDT:記錄了未使用的inodes數量,inode bitmap和datablock bitmap的位置,inode表的位置,空閑的block和inode數量。dumpe2fs /dev/sda3 | less 也可以使用-h參數
軟鏈接:指向一個文件路徑的另一個文件路徑
一個正常的文件,其inode的指針指向的是datablock的位置,而軟鏈接則是指向了另一個文件的路徑。軟鏈接在文件大小是它指向的文件路徑的字節數。
ln -s passwd.back passwd.sylink
[root@localhost tmp]# ls -il
總用量 12
33554511 -rwx------. 1 root root 836 2月 29 09:50 ks-script-XVVd4f
33554501 -rw-r--r--. 2 root root 1099 3月 1 11:37 passwd.back
33554501 -rw-r--r--. 2 root root 1099 3月 1 11:37 passwd.back2
33578842 lrwxrwxrwx. 1 root root 11 3月 1 11:38 passwd.sylink -> passwd.back
[root@localhost tmp]# mke2fs -t ext3 -b 4096 -L lq_data -i 32768 -m 3 /dev/sda3
mke2fs 1.42.9 (28-Dec-2013)
文件系統標簽=lq_data
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 5242880 blocks
157286 blocks (3.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=4294967296
160 block groups
32768 blocks per group, 32768 fragments per group
4096 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: 完成
正在寫入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
掌握Fdisk分區
請實驗完成
元數據區存放了什么
元數據區存儲了:inode inode位圖和塊位圖
數據存儲區則是磁盤塊。
inode存儲了文件的權限和屬性相關信息。可以使用 stat /etc/passwd來查看文件的元數據信息。
A. partx - tell the Linux kernel about the presence and numbering of on-disk partitions
-a Add the specified partitions, or read the disk and add all partitions.
用法: partx -a /dev/sda
B. kpartx - Create device maps from partition tables
-a Add partition mappings
用法: kpartx -a /dev/sda
如果一次沒有刷出來,請再刷一次。
創建交換分區并生效
mkswap /dev/sda6
swapon
創建一個5G的交換分區
[root@localhost ~]# blkid -L lq_data
/dev/sda3
[root@localhost ~]# blkid -U f80f0e3d-9ccb-43a2-ac30-98722a8a6ea2
/dev/sda3
[root@localhost ~]# blkid -t TYPE=ext3
/dev/sda3: LABEL="lq_data" UUID="f80f0e3d-9ccb-43a2-ac30-98722a8a6ea2" TYPE="ext3
[root@localhost ~]# e2label /dev/sda3
lq_data
[root@localhost ~]# e2label /dev/sda3 DATA
[root@localhost ~]# e2label /dev/sda3
DATA
[root@localhost ~]# blkid /dev/sda3
/dev/sda3: LABEL="DATA" UUID="f80f0e3d-9ccb-43a2-ac30-98722a8a6ea2" TYPE="ext3"
[root@localhost ~]# mke2fs -t ext2 -L TEST -m 10 /dev/sda3
接下來,我們通過tune2fs來調整文件系統的屬性,我先嘗試在掛載狀態下進行。
[root@localhost ~]# mount /dev/sda3 /mnt
A. 將文件系統類型升級成ext3
[root@localhost ~]# tune2fs -j /dev/sda3
tune2fs 1.42.9 (28-Dec-2013)
Creating journal inode: 完成
[root@localhost ~]# blkid /dev/sda3
/dev/sda3: LABEL="TEST" UUID="96361554-d8a3-43cb-860d-45ce26daaeff" SEC_TYPE="ext2" TYPE="ext3"
B. 設置卷標為Corun
[root@localhost ~]# tune2fs -L Corun /dev/sda3
tune2fs 1.42.9 (28-Dec-2013)
[root@localhost ~]# blkid /dev/sda3
/dev/sda3: LABEL="Corun" UUID="96361554-d8a3-43cb-860d-45ce26daaeff" SEC_TYPE="ext2" TYPE="ext3"
C. 更改預留的空間百分比為2%
[root@localhost ~]# tune2fs -m 2 /dev/sda3
tune2fs 1.42.9 (28-Dec-2013)
Setting reserved blocks percentage to 2% (104857 blocks)
dumpe2fs: 顯示ext系列文件系統的屬性信息
dumpe2fs /dev/sda5
dumpe2fs -h /dev/sda5
fsck和e2fsck
ext系列文件系統的專用工具:
e2fsck : check a Linux ext2/ext3/ext4 file system
e2fsck [OPTIONS] device
-y:對所有問題自動回答為yes;
-f:即使文件系統處于clean狀態,也要強制進行檢測;
fsck:check and repair a Linux file system
-t fstype:指明文件系統類型;
fsck -t ext4 = fsck.ext4
-a:無須交互而自動修復所有錯誤;
-r:交互式修復;
示例:
mount /dev/sda3 /mnt
umount /dev/sda3
南要注意的是:掛載點應該是一個空目錄,推薦將掛載點放置在根所在的文件系統上。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。