件系統管理
格式化:低級格式化(分區之前,劃分磁道) 高級格式化:在分區之后進行,創建文件系統 元數據(也是放在塊上(block)):inode 大小,權限,屬主,屬組,時間戳... 數據塊指針(文件位置,不是路徑,指向數據區的塊) Inode 固定大小 所以存儲數據庫指針的空間也是固定的,決定了最大文件的大小。inode數量可以規劃。 block和inode之間的比率 數據區 單位是block(2的n次方扇區大?。┛梢栽O置塊大小。一個塊只能屬于一個文件。(文件較小的可以設置塊小一點(不浪費空間),大文件還是設置塊大的好(讀寫性能好)。) 創建數據區域時,為管理員預留了一部分空間,以防止,磁盤空間滿了以后,管理員可以操作磁盤。 鏈接文件:存儲數據指針的空間當中存儲的是真是文件的訪問路徑 設備文件:存儲數據指針的空間當中存儲的是設備號(主,次設備號) 目錄:目錄也是文件,文件名屬于目錄的的數據,目錄不支持硬鏈接。
文件系統創建過程:先為整個分區規劃塊的大?。╞lock)–>然后規劃元數據區和數據區–>為元數據區創建inode
日志文件系統,
journal 創建文件時先寫入到日志區域,寫入完畢后再寫入到元數據和數據區。
linux支持的文件系統
為了支持更多的文件系統,引入了vfs虛擬文件系統。實現了,程序員無需關心不同的文件系統的差異。vfs支持的系統如下: ext2,ext3,ext4,xfs,reiserfs,btrfs ISO9660光盤 nfs,cifs網絡文件系統 GFS2,OCFS2集群文件系統 ceph,moosefs,mogilefs,GlusterFS 內核的分布式文件系統 swap交換文件系統 proc、sys偽文件系統 windows的vfat,ntfs文件系統 unix的文件系統:UFS,FFS.JFS 用戶空間的分布式文件系統:mogilefs,moosefs,glusterfs 日志型文件系統: ext3,ext4,xfs 非日志文件系統: ext2,vfat 文件系統的組成部分: 內核中的模塊:ext4, xfs, vfat ###就是驅動 用戶空間的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat Linux的虛擬文件系統:VFS 查前支持的文件系統:cat /proc/filesystems
文件系統管理工具
查看系統支持文件系統類型
[root@yangyouwei ~]# cat /proc/filesystems
nodev sysfs
nodev rootfs
nodev bdev
nodev proc
nodev cgroup
nodev cpuset
nodev tmpfs
nodev devtmpfs
nodev binfmt_misc
nodev debugfs
nodev securityfs
nodev sockfs
nodev usbfs
nodev pipefs
nodev anon_inodefs
nodev inotifyfs
nodev devpts
nodev ramfs
nodev hugetlbfs
iso9660
nodev pstore
nodev mqueue
nodev selinuxfs
nodev drm
ext4
nodev autofs ###這個模塊cenos7沒有安裝,需要軟件支持,安裝autofs
因linux支持的文件系統眾多,所以工具也不盡相同,工具較多。 創建文件系統的工具 mkfs mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs,mkfs.btrfs,mkfs.vfat 檢測及修復文件系統的工具 fsck fsck.ext2,fsck.ext3 查看屬性的工具 dumpe2fs,tune2fs,blkid 調整文件系統屬性特性: tune2fs
查看系統已經加載的模塊
[root@localhost ~]# lsmod e1000 134863 0 vmware_balloon 7199 0 sg 29318 0 i2c_piix4 11232 0 shpchp 29130 0 ext4 379655 3 ###說明調用了3次有三個ext4分區 jbd2 93252 1 ext4 mbcache 8193 1 ext4 sr_mod 15049 0 cdrom 39085 1 sr_mod sd_mod 37158 5 crc_t10dif 1209 1 sd_mod ahci 43154 0
系統版本
lsb_release 查看系統lsb的發行版本 centos6
cat /etc/issue 查看系統的發行版本
uname -r 查看內核版本
創建文件系統
內核級文件系統的組成部分 內核是靠文件系統驅動識別其他文件系統的。 lsmod 查看內核加載的模塊(有的驅動是直接編譯進內核,此命令是看不到的。) cenos6默認不支持xfs 需要安裝xfs軟件支持。 yum install xfsprogs 后系統中就會有mkfs.xfs xfsgrogs也有很多工具,可以創建分區,查看分區信息,修復檢測工具等。
件系統個管理工具(危險操作慎用?。?/p>
創建文件系統的工具主要為mkfs
mkfs mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat 查看文件系統類型 [root@localhost ~]# blkid /dev/sda1 /dev/sda1: UUID="a2e0a941-556c-4d99-ac0d-40034bb7581e" TYPE="xfs" UUID:全局唯一標識符
創建多種文件系統
mkfs命令:可創建多種文件系統。
(1) # mkfs.FS_TYPE/dev/DEVICE
ext4
xfs
btrfs
vfat
(2) # mkfs-t FS_TYPE /dev/DEVICE -L 'LABEL': 設定卷標
創建ext文件系統–功能強大針對ext文件系統–常用
mke2fs:ext系列文件系統專用管理工具---------ext系列的專用工具。 -t {ext2|ext3|ext4} -b {1024|2048|4096} -L 'LABEL' -j: 相當于-t ext3 mkfs.ext3 = mkfs-t ext3 = mke2fs -j = mke2fs -t ext3 -i#: 為數據空間中每多少個字節創建一個inode;此大小不應該小于block的大小 比率每多少個字節一個inode -N #: 為數據空間創建個多少個inode -m #: 默認5%,為管理人員預留空間占總空間的百分比 -O FEATURE[,...]: 啟用指定特性 例如開啟日志功能。 -O ^FEATURE: 關閉指定特性 文件系統選項(特性) 詳見man ext4 FILE SYSTEM FEATURES
實例
[root@localhost ~]# mkfs.ext4 /dev/sda7 mke2fs 1.42.9 (28-Dec-2013) Filesystem label= ###卷標 OS type: Linux ###文件系統類型 Block size=4096 (log=2) ###塊大小 Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1310720 inodes, 5242880 blocks ###總共多少個inode和多少個block 262144 blocks (5.00%) reserved for the super user ###為管理員預留的空間 First data block=0 Maximum filesystem blocks=2153775104 160 block groups ###一共多少個塊組 32768 blocks per group, 32768 fragments per group ###每個塊組有多少個塊 8192 inodes per group ###每個塊組有多少個inode Superblock backups stored on blocks: ###超級塊備份在那些塊上。 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done ###創建日志 Writing superblocks and filesystem accounting information: done
文件系統標簽,查看與修改
指向設備的另一種方法 與設備無關
查看設備屬性,卷標,uuid,設備名稱,類型
blkid:塊設備屬性信息查看(分區)
blkid[OPTION]… [DEVICE]
-U UUID: 根據指定的UUID來查找對應的設備
-L LABEL:根據指定的LABEL來查找對應的設備
查看修改文件系統的lable卷標
e2label:管理ext系列文件系統的LABEL
[root@localhost ~]# e2label /dev/sda7 mydate ##設置卷標
[root@localhost ~]# e2label /dev/sda7 ##查看卷標
mydate
分區查找 根據uuid 、卷標查找設備
findfs:查找分區
findfs[options] LABEL=
findfs[options] UUID=<uuid>
======================================================================
調整文件系屬性
針對ext文件系統的調整,其它文件系統使用其專用工具
[root@localhost ~]# btrfs
btrfs btrfs-find-root btrfs-show-super
btrfsck btrfs-image btrfstune
btrfs-convert btrfs-map-logical btrfs-zero-log
btrfs-debug-tree btrfs-select-super
[root@localhost ~]# xfs xfs_admin xfs_estimate xfsinvutil xfs_mkfile xfs_rtcp xfs_bmap xfs_freeze xfs_io xfs_ncheck xfs_copy xfs_fsr xfs_logprint xfs_quota xfs_db xfs_growfs xfs_mdrestore xfs_repair xfsdump xfs_info xfs_metadump xfsrestore
tune2fs 調整ext文件系統的某些屬性,不能修改其他文件系統的屬性。
tune2fs:重新設定ext系列文件系統可調整參數的值 -l:查看指定文件系統超級塊信息;super block -L 'LABEL':修改卷標 -m #:修預留給管理員的空間百分比 -j: 將ext2升級為ext3 -O: 文件系統屬性啟用或禁用,–O ^has_journal -o: 調整文件系統的默認掛載選項,–o ^acl -U UUID: 修改UUID號; [root@localhost ~]# tune2fs -l /dev/sda7 tune2fs 1.42.9 (28-Dec-2013) Filesystem volume name: mydate Last mounted on: <not available> Filesystem UUID: dfc6560a-aad9-4df1-b79a-b5316620bc1e 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 large_file 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: 1310720 Block count: 5242880 Reserved block count: 262144 Free blocks: 5116558 Free inodes: 1310709 First block: 0 Block size: 4096 Fragment size: 4096 Group descriptor size: 64 Reserved GDT blocks: 1024 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 8192 Inode blocks per group: 512 Flex block group size: 16 Filesystem created: Mon Aug 22 18:56:27 2016 Last mount time: n/a Last write time: Mon Aug 22 19:42:53 2016 Mount count: 0 ###########掛載次數,可以修改 Maximum mount count: -1 #######最大掛載次數,達到次數后觸發文件系統檢查 Last checked: Mon Aug 22 18:56:27 2016 Check interval: 0 (<none>) Lifetime writes: 132 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: 9d4d3d1b-cad8-457f-8058-054bc83e71e0 Journal backup: inode blocks [root@localhost ~]# centos6默認用戶自己掛在的文件系統不開啟acl功能。需要自己打開。
===================================================================
查看超級塊及塊組信息
dumpe2fs: dumpe2fs - dump ext2/ext3/ext4 filesystem information ###僅針對ext系列文件系統 dumpe2fs [options] /DEV(分區) -h:查看超級塊信息(分組信息),每個塊組的信息。 -l 每個塊組的信息。 Group 1: (Blocks 5210112-5242879) [INODE_UNINIT] Checksum 0xa706, unused inodes 8192 Block bitmap at 4718607 (bg #144 + 15), Inode bitmap at 4718623 (bg #144 + 31) Inode table at 4726304-4726815 (bg #144 + 7712) 32768 free blocks, 8192 free inodes, 0 directories, 8192 unused inodes Free blocks: 5210112-5242879 Free inodes: 1302529-1310720
========================================================================
文件系統檢測和修復
因為進程意外終止或系統崩潰等原因導致定稿操作非正常終止時,可能會照成文件損壞;此時應該檢測并修復文件系統;建議離線檢查(umonut)。
掛載為文件系統標記為“dirty” fsck: ### 自動檢測文件系統類型。 File System Check 各個文件系統都能使用--通用工具 fsck.FS_TYPE ### 與分區類型一定要一致 fsck-t FS_TYPE -a: 自動修復錯誤 不建議自動修復 -r: 交互式修復錯誤 注意: FS_TYPE一定要與分區上已經文件類型相同; e2fsck: ext系列文件專用的檢測修復工具 只能檢查ext2、3、4 -y:自動回答為yes -f:強制修復 e2fsck [options] /DEV(分區) [root@localhost ~]# e2fsck -f /dev/sda7 e2fsck 1.42.9 (28-Dec-2013) 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 mydate: 11/1310720 files (0.0% non-contiguous), 126322/5242880 blocks
修復操作系統,是一個危險操作。
有進程在使用或其他用戶的當前工作目錄處于該設備,則不能卸載。需要查看,都是那些進程使用該設備。需要結束該進程,才可以卸載。
原創文章,作者:yyw,如若轉載,請注明出處:http://www.www58058.com/40805