磁盤的分區與管理node
本文介紹了linux系統下,磁盤的分區與管理相關操做命令,在每一個主要命令後面附加了實驗進行檢測。linux
1、 磁盤分區:fdiskcentos
此處咱們主要是使用傳統的磁盤分區,不涉及mdm以及lvm等內容。app
1. 查看磁盤分區信息,使用fdisk -l,能夠查看到傳統的磁盤分區以及lvm卷的信息。ide
[root@liuqing ~]# fdisk -l工具
磁盤 /dev/sda:128.8 GB, 128849018880 字節,251658240 個扇區flex
Units = 扇區 of 1 * 512 = 512 bytesui
扇區大小(邏輯/物理):512 字節 / 512 字節this
I/O 大小(最小/最佳):512 字節 / 512 字節spa
磁盤標籤類型:dos
磁盤標識符:0x000ce7f5
設備 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 209715199 103808000 8e Linux LVM
磁盤 /dev/mapper/centos-root:53.7 GB, 53687091200 字節,104857600 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤 /dev/mapper/centos-swap:2147 MB, 2147483648 字節,4194304 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤 /dev/mapper/centos-home:50.5 GB, 50457477120 字節,98549760 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
2. fdisk的主要參數
注意:fdisk的操做都是在內存中,並無實時的操做磁盤。只有在使用w命令存盤時纔會寫入到磁盤。
d delete a partition #刪除一個分區
l list known partition types #顯示已知的分區類型,常見的8二、8三、8e、
m print this menu #顯示命令菜單
n add a new partition #建立一個新的分區
p print the partition table #顯示分區表
q quit without saving changes #不保存退出
t change a partition's system id #調整分區類型
w write table to disk and exit #存盤並退出
3. 實驗:建立一個10G的分區,其分區類型爲83,分區號爲/dev/sda3
[root@liuqing ~]# fdisk -l /dev/sda
命令(輸入 m 獲取幫助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
分區號 (3,4,默認 3):3
起始 扇區 (209715200-251658239,默認爲 209715200):
將使用默認值 209715200
Last 扇區, +扇區 or +size{K,M,G} (209715200-251658239,默認爲 251658239):+10G
分區 3 已設置爲 Linux 類型,大小設爲 10 GiB
命令(輸入 m 獲取幫助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
# 建立一個分區時,輸入命令n
# 接着要選擇分區的類型是主分區仍是擴展分區,對於MBR磁盤來講,主分區加擴展分區最多4個
# 選擇分區號1-4爲主分區、擴展分區;擴展分區下的邏輯分區從5開始
# 輸入起始扇區號以及分區大小
# 存盤退出
4. 查看分區信息,已經多了一個
[root@liuqing ~]# fdisk -l
設備 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 209715199 103808000 8e Linux LVM
/dev/sda3 209715200 230686719 10485760 83 Linux
2、讓內核讀盤
使用fdisk建立一個分區之後,內核沒有實時的識別它,須要使用命令來從新讀取一次分區。使用的命令有兩個:partx以及kpartx.
1. 查看內核已經識別的分區信息,並無看到/dev/sda3的信息。
[root@liuqing ~]# cat /proc/partitions
major minor #blocks name
8 0 125829120 sda
8 1 1048576 sda1
8 2 103808000 sda2
......省略其餘不相關的信息
2. 使用partx從新讀取分區信息,若是執行一次不行,能夠再執行一次。
[root@liuqing ~]# partx -a /dev/sda
partx: /dev/sda: error adding partitions 1-2
[root@liuqing ~]# cat /proc/partitions
major minor #blocks name
8 0 125829120 sda
8 1 1048576 sda1
8 2 103808000 sda2
8 3 10485760 sda3
3. partx和kpartx的使用方法
A. partx -a [device]
B. kpartx -af [device]
3、建立文件系統
掌握建立文件系統的命令及參數
在這裏咱們主要介紹ext系列文件系統建立工具mke2fs的使用方法,它的功能比較強大。其餘的命令還有mkfs.ext2, mkfs.ext3, mkfs.ext4; mkfs等。
mke2fs [OPTIONS] device
-t {ext2|ext3|ext4}:指明要建立的文件系統類型
mkfs.ext4 = mkfs -t ext4 = mke2fs -t ext4
-b {1024|2048|4096}:指明文件系統的塊大小;
-L LABEL:指明卷標;
-j:建立有日誌功能的文件系統ext3;
mke2fs -j = mke2fs -t ext3 = mkfs -t ext3 = mkfs.ext3
-i #:bytes-per-inode,指明inode與字節的比率;即每多少字節建立一個Indode;
-N #:直接指明要給此文件系統建立的inode的數量;
-m #:指定預留的空間,百分比;
-O [^]FEATURE:以指定的特性建立目標文件系統;
實驗: 對/dev/sda3建立文件系統,文件系統的類型爲ext4,系統使用的塊大小爲2048,卷標爲Mydata,預留給管理員的空間爲4%;
[root@liuqing ~]# mke2fs -t ext4 -b 2048 -L "Mydata" -m 4 /dev/sda3
mke2fs 1.42.9 (28-Dec-2013)
文件系統標籤=Mydata
OS type: Linux
塊大小=2048 (log=1)
分塊大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 5242880 blocks
209715 blocks (4.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=273678336
320 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104,
2048000, 3981312
Allocating group tables: 完成
正在寫入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
4、 調整分區屬性以及其它命令
1. e2label: 用於查看和設定卷標
查看:e2label DEVICE
設定:e2label DEVICE LABEL_NAME
2. dumpe2fs: 用於顯示ext系列文件系統的屬性信息
dumpe2fs [-h] device
3. e2fsck:對ext系列文件系統進行磁盤檢查
e2fsck [OPTIONS] device
-y:對全部問題自動回答爲yes;
-f:即便文件系統處於clean狀態,也要強制進行檢測;
4. fsck:check and repair a Linux file system
-t fstype:指明文件系統類型;
fsck -t ext4 = fsck.ext4
-a:無須交互而自動修復全部錯誤;
-r:交互式修復;
5. tune2fs
tune2fs命令:查看或修改ext系列文件系統的某些屬性
adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems;
注意:塊大小建立後不可修改;
tune2fs [OPTIONS] device
-l:查看超級塊的內容;
修改指定文件系統的屬性:
-j:ext2 --> ext3;
-L LABEL:修改卷標;
-m #:調整預留空間百分比;
-O [^]FEATHER:開啓或關閉某種特性;
-o [^]mount_options:開啓或關閉某種默認掛載選項
acl
^acl
6. 查看分區超級塊的信息
[root@liuqing ~]# tune2fs -l /dev/sda3
tune2fs 1.42.9 (28-Dec-2013)
Filesystem volume name: Mydata
Last mounted on: <not available>
Filesystem UUID: 63a8e0d5-27b4-4dd6-9049-3f11acb620b7
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 655360
Block count: 5242880
Reserved block count: 209715
Free blocks: 5121266
Free inodes: 655349
First block: 0
Block size: 2048
Fragment size: 2048
Group descriptor size: 64
Reserved GDT blocks: 512
Blocks per group: 16384
Fragments per group: 16384
Inodes per group: 2048
Inode blocks per group: 256
Flex block group size: 16
Filesystem created: Thu Nov 28 11:12:37 2019
Last mount time: n/a
Last write time: Thu Nov 28 11:12:38 2019
Mount count: 0
Maximum mount count: -1
Last checked: Thu Nov 28 11:12:37 2019
Check interval: 0 (<none>)
Lifetime writes: 65 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: e2e55f5f-e05f-431c-84b9-a734d29b078f
Journal backup: inode blocks