檢視支援的檔案系統:
/lib/modules/核心版本/kernel/fs
cat /proc/filesystems
熱挂載的磁盤在不重新開機的情況下,是不可以使用lsblk看到的,可以使用以下指令掃描發現
#echo '- - -' > /sys/class/scsi_host/host2/scan
可以看分區前512位元組數
hexdump -C -n 512 /dev/sda
備份指定扇區
#dd if=/dev/sda of=/app/mbr bs=1 count=512
備份指定扇區内容
#dd if=/dev/sda of=mbr64 bs=1 count=64 skip=446 seek=446
恢複分區表
#dd if=mbr of=/dev/sda bs=1 count=512
可以将一個分區表備份檔案恢複至一個新的磁盤空間上
UUID編号生成
#uuidgen
20383f4d-0201-49c1-aa25-49934bcccd9f
檢視磁盤UUID或者分區檔案系統
blkid
#blkid
/dev/sr0: UUID="2017-09-06-10-53-42-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sda1: UUID="2d41b82c-dd7f-46c1-800e-f9ae533ecb48" TYPE="xfs"
/dev/sda2: UUID="d920bdb4-e2bf-48e9-b7b5-6657c58bfb3e" TYPE="xfs"
UUID隻有重新格式化磁盤分區的時候才會發生變化
#xfs_info 檢視xfs格式的super block,必須先挂載
super block:
Filesystem volume name
/app/sdb2
卷标
Last mounted on
最後挂載點
Filesystem UUID
ac3c758c-5f46-4839-8c76-57065ece252b
UUID資訊
Filesystem magic number
0xEF53
頭部資訊描述
Filesystem revision #
1 (dynamic)
Filesystem features
has_journal ext_attr resize_inode
dir_index filetype needs_recovery
extent 64bit flex_bg sparse_super
large_file huge_file uninit_bg
dir_nlink extra_isize
分區支援的特性
Filesystem flags
signed_directory_hash
Default mount options
user_xattr acl
挂載選項。使用指令
#tune2fs -o acl /dev/sdb2
Filesystem state
clean
正常時顯示此字元串
Errors behavior
Continue
Filesystem OS type
Linux
Inode count
65536
本分區Inode總數
Block count
262144
本分區BlockU總數
Reserved block count
13107
本分區保留的Inode總數
Free blocks
249189
本分區目前可用的BlockU總數
Free inodes
65525
First block
Block size
4096
Fragment size
Group descriptor size
64
Reserved GDT blocks
127
Blocks per group
32768
Fragments per group
Inodes per group
8192
Inode blocks per group
512
Flex block group size
16
Filesystem created
Sun Dec 3 22:24:29 2017
檔案系統建立時間
Last mount time
Sun Dec 3 22:27:33 2017
檔案系統最後挂載時間
Last write time
Sun Dec 3 22:29:06 2017
檔案系統最後寫入時間
Mount count
1
Maximum mount count
-1
Last checked
Sun Dec 3 22
Check interval
0 (<none>)
Lifetime writes
33 MB
Reserved blocks uid
0 (user root)
Reserved blocks gid
0 (group root)
First inode
11
Inode size
Required extra isize
28
Desired extra isize
Journal inode
8
Default directory hash
half_md4
Directory Hash Seed
c97fac6c-5fbe-4a4c-96f2-196e3164fa96
Journal backup
inode blocks
一、CentOS 7磁盤及檔案系統特性
在CentOS 7,不管是IDE硬碟還是SATA硬碟,在linux裡面的硬碟裝置檔案辨別都為/dev/sd[a-z]。(當然這一特性在CentOS 6中就已經實作)
CentOS 7預設使用的檔案系統為xfs。
二、磁盤分區管理工具
磁盤分區管理工具有很多,在CentOS 7上也支援傳統的fdisk工具,還有parted,sfdisk,本文以fdisk介紹淺談在Linux中磁盤超出2T的管理方式
fdisk指令:
fdisk -l [-u] [device...]
1、檢視分區表資訊
fdisk -l [device] # 不加任何裝置,預設檢視所有
fdisk -l /dev/sda
Disk /dev/sda: 128.8 GB, 128849018880 bytes, 251658240 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: 0x000b0d11
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 251658239 125316096 8e Linux LVM
2、管理分區
fdisk提供了一個互動式的借口來管理分區,他有許多子指令,分别實作不同管理功能;特點是在記憶體中完成,不直接同步到硬碟上,可通過w來儲存。
常用指令:
n:建立新分區
d:删除已有分區
t:修改分區類型
l:檢視所有已經ID
w:儲存并退出
q:不儲存并退出
m:檢視幫助資訊
p:顯示現有分區資訊
注意:使用w儲存退出後,核心不會立即識别新分區,此處如果有需要,可以使用指令使核心強制讀取。
檢視已經讀取分區清單:
2
3
4
5
6
7
9
10
12
# cat /proc/partitions
major minor #blocks name
8 16 20971520 sdb
8 17 5242880 sdb1
8 18 5242880 sdb2
8 0 125829120 sda
8 1 512000 sda1
8 2 125316096 sda2
11 0 7413760 sr0
253 0 52428800 dm-0
253 1 2097152 dm-1
253 2 70721536 dm-2
通知核心強制重讀磁盤分區表:
Centos 6
增加分區時使用
# partx -a /dev/sdb
删除分區時使用
# partx -d --nr 6-7 /dev/sdb
Centos 7
# partprobe /dev/sda
13
14
15
# partx -a /dev/sdb
partx: /dev/sdb: error adding partitions 1-4
8 19 5242880 sdb3
8 20 1 sdb4
三、檔案系統管理
建立檔案系統,就是對分區進行格式化,格式化分為:低級格式化(分區之前進行,劃分磁道)、進階格式化(分區之後對分區進行,建立檔案系統),一般低級格式化都有硬碟廠商來完成。
檔案系統管理工具:
A、ext系列檔案系統管理工具:
1、建立檔案系統工具
mkfs系列(mkfs.ext2, mkfs.ext3, mkfs.ext4)
# mkfs系列的使用方法比較簡單,沒有過多參數
mke2fs:
使用格式: 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
2、卷标檢視與設定
e2label
# e2label /dev/sdb2
MYDATA
# e2label /dev/sdb2 DATA
DATA
3、檢查及修複檔案系統工具
e2fsck
-y:對所有問題自動回答為yes;
-f:即使檔案系統處于clean狀态,也要強制進行檢測;
# e2fsck /dev/sdb2
e2fsck 1.42.9 (28-Dec-2013)
DATA: clean, 11/655360 files, 204238/10484736 blocks
# e2fsck -yf /dev/sdb2
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
DATA: 11/655360 files (0.0% non-contiguous), 204238/10484736 blocks
fsck:
-t fstype:指明檔案系統類型;
fsck -t ext4 = fsck.ext4
-a:無須互動而自動修複所有錯誤;
-r:互動式修複;
# fsck -t ext4 /dev/sdb1
fsck from util-linux 2.23.2
/dev/sdb1: clean, 11/196608 files, 31036/786432 blocks
4、檢視修改ext系列檔案的某些屬性
dumpe2fs:
# dumpe2fs /dev/sdb1
tune2fs:
指令格式:tune2fs [OPTIONS] device
常用參數:
-l:檢視超級塊的内容;
#tune2fs /dev/sdb2 -l 檢視ext格式的super block
#dumpe2fs /dev/sdb1 -h 檢視ext格式的super block
添加ACL功能,Centos 6 預設在系統安裝好之後手工添加的分區沒有ACL功能
#tune2fs -o acl /dev/sdb2,需要重新挂載或重新啟動系統才生效
# tune2fs -l /dev/sdb1
-j:啟用日志系統,在ext3以上預設啟用,此處僅針對ext2檔案系統
-L LABEL:修改卷标;
# e2label /dev/sdb1
# tune2fs -L TESTDATA /dev/sdb1
tune2fs 1.42.9 (28-Dec-2013)
# blkid /dev/sdb1
/dev/sdb1: LABEL="TESTDATA" UUID="2ca4b66c-3e37-460d-a300-022e916413a8" TYPE="ext4"
-m #:調整預留白間百分比,預設為5%;
# 此操作一般在硬碟比較大的場景中适用
-O [^]FEATHER:開啟或關閉某種特性;
-o [^]mount_options:開啟或關閉某種預設挂載選項
B、xfs檔案系統管理工具:
建立檔案系統工具:
1、mkfs.xfs
# mkfs.xfs -f /dev/sdb1
meta-data=/dev/sdb1 isize=256 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
修複檔案系統工具:
2、fsck
# fsck -t xfs -a /dev/sdb1
/sbin/fsck.xfs: XFS file system.
本文轉自 ljpwinxp 51CTO部落格,原文連結:http://blog.51cto.com/191226139/2051183