Linux文件系統管理

Linux文件系統: ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swap

swap: 交換分區(虛擬內存)

光盤: iso9660

      windows: fat32, NTFS

      Unix: FFS, UFS, JFS2

      網絡文件系統: NFS, CIFS

      集群文件系統: GFS2, OCFS2

      分布式文件系統: ceph,

moosefs,  mogilefs, GlusterFS, Lustre

    根據其是否支持"journal"功能:

        日志型文件系統: ext3, ext4, xfs, …

非日志型文件系統: ext2, vfat(fat32)

    文件系統的組成部分:

內核中的模塊: ext4, xfs, vfat

用戶空間的對應管理工具: mkfs.ext4, mkfs.xfs, mkfs.vfat

Linux的虛擬文件系統: VFS

查詢當前系統所支持的文件系統類型

# cat /proc/filesystems

1470833014934373.jpg

以上是CentOS 6.4版本支持的文件系統,可以看到還沒有支持xfs文件系統。

1470833417403622.jpg

以上是CentOS 7.1版本支持的文件系統。

對新增的空間進行分區

分區管理工具有: fdisk, parted, sfdisk

        fdisk: 對于一塊硬盤來講,最多只能管理15分區;

        fdisk 對多只能對2T的硬盤進行分區,超過2T的硬盤不能分區,不支持GPT分區,且如果要使用大分區則請使用 parted 命令。



fdisk命令詳解

fdisk 命令有多個參數可選

fdisk [-uc] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device

//設定指定分區的扇區數,柱面數,磁頭數等。一般不特別指定,不常用此條命令。

fdisk -l [-u] [device…]

//只加 -l 參數 顯示當前所有分區的信息。

[root@magedu ~]# fdisk -l
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000cb368
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1306    10485760   83  Linux
/dev/sda2            1306        1561     2048000   82  Linux swap / Solaris

//只加 -u 參數,顯示幫助信息。

//加 -l -u 參數,與只加 -l 參數,顯示的內容相同。

//加 -l -u 再加指定的分區,則顯示單個分區的詳細信息,包括容量大小,磁頭數,扇區數,柱面數,每個扇區塊大小等信息。

[root@magedu ~]# fdisk -l -u /dev/sda2
Disk /dev/sda2: 2097 MB, 2097152000 bytes
255 heads, 63 sectors/track, 254 cylinders, total 4096000 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 identifier: 0x00000000

//同樣指定分區,但是加-u 與不加-u參數的微小區別,在第4、5行與第13、14行

[root@magedu ~]# fdisk -l /dev/sda1

Disk /dev/sda1: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

[root@magedu ~]# fdisk -l -u /dev/sda1

Disk /dev/sda1: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 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 identifier: 0x00000000

fdisk -s partition…

//顯示指定分區的塊信息

[root@magedu ~]# fdisk -s /dev/sda1
10485760

fdisk -v

//打印當前fdisk版本信息

[root@magedu ~]# fdisk -v
fdisk (util-linux-ng 2.17.2)

fdisk -h

//打印fdisk幫助信息,與直接輸入fdisk效果相同

[root@magedu ~]# fdisk -h
Usage:
 fdisk [options] <disk>    change partition table
 fdisk [options] -l <disk> list partition table(s)
 fdisk -s <partition>      give partition size(s) in blocks
Options:
 -b <size>                 sector size (512, 1024, 2048 or 4096)
 -c                        switch off DOS-compatible mode
 -h                        print help
 -u <size>                 give sizes in sectors instead of cylinders
 -v                        print version
 -C <number>               specify the number of cylinders
 -H <number>               specify the number of heads
 -S <number>               specify the number of sectors per track


[root@magedu ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').
Command (m for help):

//輸入fdisk 和指定設備后,進入對話模式,此時可以先輸入m進行命令列表。

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 //刪除分區
   l   list known partition types //列出所有已知分區類型
   m   print this menu //打印此幫助信息
   n   add a new partition //添加一個新分區
   o   create a new empty DOS partition table //創建一個新的DOS分區表
   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)

//顯示所有已知分區類型,這里要注意分區類型的數字編號,在使用p命令進行查看時可以知道對應分區類型

Command (m for help): l
 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx         
 5  Extended        42  SFS             86  NTFS volume set da  Non-FS data    
 6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility   
 8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT            
 f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS    
17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT

//使用p命令查看現有分區列表信息后,可以看到該硬盤總共的柱面是2610,已經使用的柱面是1561,說明還有未分區空間可以使用?,F在就對剩余空間可以進行分區添加。

Command (m for help): p
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000cb368
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1306    10485760   83  Linux
/dev/sda2            1306        1561     2048000   82  Linux swap / Solaris

1、添加一個主分區,輸入n,出現對話模式詢問是要穿件主分區還是創建擴展分區,同時提示主分區數量只能是1-4,因為已經有sda1和sda2 了,那么最多只能再添加2個主分區,也就是sda3和sda4,先創建一個主分區為sda3,那么需要先輸入p。

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)

輸入p后,會要求確定添加的分區號碼,輸入3,

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4):

如果輸入的編號是已經有的分區號,則會提示分區已經存在,在添加分區前請先刪除此分區

Partition number (1-4): 1
Partition 1 is already defined.  Delete it before re-adding it.

輸入3后,會出現要求輸入柱面開始的位置和結束的位置,根據提示進行區域的劃分。因為后續還需要分邏輯分區,所以這里先從1561分到2000即可。

Partition number (1-4): 3
First cylinder (1561-2610, default 1561): 1561
Last cylinder, +cylinders or +size{K,M,G} (1561-2610, default 2610): 2000

添加完成后再用p命令進行查看剛剛創建出來的分區,注意新創建出來的分區類型id為83,也就是默認創建出來的分區類型是linux類型的。

Command (m for help): p
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000cb368
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1306    10485760   83  Linux
/dev/sda2            1306        1561     2048000   82  Linux swap / Solaris
/dev/sda3            1561        2000     3530216   83  Linux

2、創建邏輯分區

因為主分區只能是4個,如果要創建4個以上的分區,則需要先犧牲一個主分區的額度,將整個額度用做擴展分區,創建完擴展分區后,在擴展分區中再進行創建邏輯分區。這個分區模式類似于Windows的分區模式。

同樣先輸入n

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)

輸入e,要創建擴展分區,輸入e后因為只有一個分區可以創建邏輯分區,所以默認為sda4了,不需要輸入4,進去柱面位置輸入。這里把剩余的空間全部劃給擴展分區使用2001-2610。

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
e
Selected partition 4
First cylinder (2001-2610, default 2001): 2001
Last cylinder, +cylinders or +size{K,M,G} (2001-2610, default 2610): 2610

完成后用p命令查看結果。注意sda4 的Id類型為5,同時系統屬性顯示為Extended,擴展分區。

Command (m for help): p
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000cb368
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1306    10485760   83  Linux
/dev/sda2            1306        1561     2048000   82  Linux swap / Solaris
/dev/sda3            1561        2000     3530216   83  Linux
/dev/sda4            2001        2610     4899825    5  Extended

3、創建邏輯分區

在創建完成擴展分區后,擴展分區并不能作為實際使用的分區,需要再創建邏輯分區。

再輸入n,然后輸入第一個邏輯分區的大小,邏輯分區從sda5開始編號,向后累加1。

這里先分第一個邏輯分區,設置邏輯分區的時候,設置完成起始柱面后,結束的柱面可以用K,M,G的容量形式表示。

Command (m for help): n
First cylinder (2001-2610, default 2001): 2001
Last cylinder, +cylinders or +size{K,M,G} (2001-2610, default 2610): 2100

創建完成后用p命令進行查看結果。

Command (m for help): p
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000cb368
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1306    10485760   83  Linux
/dev/sda2            1306        1561     2048000   82  Linux swap / Solaris
/dev/sda3            1561        2000     3530216   83  Linux
/dev/sda4            2001        2610     4899825    5  Extended
/dev/sda5            2001        2100      803218+  83  Linux

再重復創建1個邏輯分區,這次試用設置容量的方式創建。+100M,這個新創建的sda6的容量是100M。

Command (m for help): n
First cylinder (2101-2610, default 2101): 2101  
Last cylinder, +cylinders or +size{K,M,G} (2101-2610, default 2610): +100M

創建完成后用p命令進行查看結果。

Command (m for help): p
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000cb368
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1306    10485760   83  Linux
/dev/sda2            1306        1561     2048000   82  Linux swap / Solaris
/dev/sda3            1561        2000     3530216   83  Linux
/dev/sda4            2001        2610     4899825    5  Extended
/dev/sda5            2001        2100      803218+  83  Linux
/dev/sda6            2101        2114      112423+  83  Linux

4、保存并退出

當所有分區設置操作完成后,使用w命令,進行保存之前的所有設置,然后退出。如果沒有輸入w命令的退出之前的操作全部都不起作用。

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 設備或資源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

保存退出后,系統會提示分區表需要內核在下次啟動后進行加載,或者可以使用partprobe 或者 kpartx命令在不重新啟動的情況下進行同步。



partx 命令簡介

partx – telling the kernel about presence and numbering of on-disk partitions.

        //告訴內核在線的磁盤分區編號

格式

partx [-a|-d|-l] [–type TYPE] [–nr M-N] [partition] disk

       -a     add specified partitions or read disk and add all partitions //增加指定的分區或者讀取整個磁盤增加全部分區
       -d     delete specified or all partitions                           //刪除指定的或者全部分區(這里的刪除是刪除在內核中的掛載)
       -l     list partitions. Note that the all numbers are in 512-byte sectors.    //將分區列表顯示出來
       --type TYPE
              Specify the partition type -- dos, bsd, solaris, unixware or gpt.      //指定分區類型,dos,bsd,solaris,unixware,gpt
       --nr M-N
              Specify the range of partitions (e.g --nr 2-4).                        //指定分區的范圍

[root@magedu ~]# partx -l /dev/sda
# 1:      2048- 20973567 ( 20971520 sectors,  10737 MB)
# 2:  20973568- 25069567 (  4096000 sectors,   2097 MB)
# 3:  25069568- 32129999 (  7060432 sectors,   3614 MB)
# 4:  32130000- 41929649 (  9799650 sectors,   5017 MB)
# 5:  32130063- 33736499 (  1606437 sectors,    822 MB)
# 6:  33736563- 33961409 (   224847 sectors,    115 MB)

//加載sda盤上的所有分區,因為sda1,sda2已經加載過了,所以顯示已經在線了,其他3-6已經全部增加好了。

[root@magedu ~]# partx -a /dev/sda
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2

使用ls -l /dev/sda //看到以下sda1-6 全部都已經掛載好了

brw-rw----. 1 root disk      8,   0 3月   3 12:55 sda
brw-rw----. 1 root disk      8,   1 3月   3 12:02 sda1
brw-rw----. 1 root disk      8,   2 2月  29 00:08 sda2
brw-rw----. 1 root disk      8,   3 3月   3 15:50 sda3
brw-rw----. 1 root disk      8,   4 3月   3 15:54 sda4
brw-rw----. 1 root disk      8,   5 3月   3 15:54 sda5
brw-rw----. 1 root disk      8,   6 3月   3 15:54 sda6

//清除掛載的分區,使用-d參數 –nr參數為指定分區序號,執行完畢后使用ls查看結果。只有sda1,sda2在線

partx -d --nr 3-6 /dev/sda
brw-rw----. 1 root disk      8,   0 3月   3 12:55 sda
brw-rw----. 1 root disk      8,   1 3月   3 12:02 sda1
brw-rw----. 1 root disk      8,   2 2月  29 00:08 sda2

partprobe用法基本和partx用法相同,不做詳細解說。



二、文件系統格式化

在劃分好分區后,需要對分區進行文件系統格式化

# cat /proc/filesystems

查詢當前系統所支持的文件系統類型

創建文件系統的命令主要有 mkfs 和 mke2fs

1、mkfs詳解

   mkfs [-V] [-t fstype] [fs-options] filesys [blocks]

filesys : 主要是指/dev/hda. 和  /dev/sdb2

-V : 顯示格式化程序的具體版本

[root@magedu ~]# mkfs -V

mkfs (util-linux-ng 2.17.2)

-t + fstype : 指定格式化分區的文件類型,默認為ext2格式。 

-c 在格式化分區錢先檢查文件系統是否有壞道。

-l filename : 從filename中讀取塊的塊的相關信息。

-v 產生詳細的輸出內容。

舉例:

對/dev/sda5 使用ext4類型進行格式化

[root@magedu ~]# mkfs -t ext4 /dev/sda5 
mke2fs 1.41.12 (17-May-2010)
文件系統標簽=
操作系統:Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
50288 inodes, 200804 blocks
10040 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=209715200
7 block groups
32768 blocks per group, 32768 fragments per group
7184 inodes per group
Superblock backups stored on blocks: 
32768, 98304, 163840
正在寫入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

如果需要在格式化時同時對分區驚醒標簽設置則同時增加-L參數

[root@magedu ~]# mkfs -t ext4 -L "mydata" /dev/sda6 
mke2fs 1.41.12 (17-May-2010)
文件系統標簽=mydata
操作系統:Linux
塊大小=1024 (log=0)
分塊大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
28112 inodes, 112420 blocks
5621 blocks (5.00%) reserved for the super user
第一個數據塊=1
Maximum filesystem blocks=67371008
14 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks: 
8193, 24577, 40961, 57345, 73729
正在寫入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

使用mkfs 2次TAB鍵可以查看格式化文件系統的命令文件,可以直接使用這些命令進行分區格式化

[root@magedu ~]# mkfs
mkfs          mkfs.cramfs   mkfs.ext2     mkfs.ext3     mkfs.ext4     mkfs.ext4dev

舉例:

[root@magedu ~]# mkfs.ext4 -L "MYFILE" /dev/sda3
mke2fs 1.41.12 (17-May-2010)
文件系統標簽=MYFILE
操作系統:Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
220752 inodes, 882554 blocks
44127 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=905969664
27 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912, 819200
正在寫入inode表: 完成                            
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

格式化完成后可使用blkid命令進行分區信息查看

[root@magedu ~]# blkid /dev/sda3
/dev/sda3: LABEL="MYFILE" UUID="cbf52738-71f8-46e7-8826-fc6d47470f3b" TYPE="ext4"

2、mke2fs

mke2fs是ext系列文件系統專用管理工具,可創建ext2/ext3/ext4文件系統

    -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的大小;

    -N #: 為數據空間創建多少個inode

    -m #:為管理人員預留的空間占據的百分比;

    -O FEATURE[,…]: 啟用指定特性

-O ^FEATURE: 關閉指定特性

    -F: 強制格式化分區,即時指定的設備不是一個特殊的設備分區,或者其他參數沒有沒有意義,也格式化此分區。即時分區是掛載的或者正在被使用的,也要強制進行格式化的情況(這樣操作具有很大風險),需要強制使用參數兩次。-F -F

    -q: 靜默執行,常常在腳本中使用。

    -V: 顯示版本信息

    -U: 設置分區一個特殊的UUID,(沒有特殊要求不使用)



三、查看塊設備屬性及相關信息

blkid 

不加任何參數可查詢當前掛在的所有塊設備信息列表

[root@magedu ~]# blkid
/dev/sda1: UUID="555e9e4f-3ad2-4372-852f-629c3c3f822e" TYPE="ext4" 
/dev/sda2: UUID="d16462e2-eea8-4f55-a258-10f15dd7a956" TYPE="swap" 
/dev/sda6: LABEL="mydata" UUID="7e89adb1-4617-462e-9ff5-4fb6f26f27f0" TYPE="ext4" 
/dev/sda3: LABEL="MYFILE" UUID="cbf52738-71f8-46e7-8826-fc6d47470f3b" TYPE="ext4" 
/dev/sda5: UUID="9923a5a7-7dea-4328-9215-fdbf5b5b54ae" SEC_TYPE="ext2" TYPE="ext3"

查看指定設備文件系統類型

blkid [DEVICE]

[root@magedu ~]# blkid /dev/sda5
/dev/sda5: UUID="9923a5a7-7dea-4328-9215-fdbf5b5b54ae" SEC_TYPE="ext2" TYPE="ext3"

-U 根據指定的UUID進行查找對應的設備

-L 根據指定的LABEL進行查找對應的設備

查看系統中所有已經掛且有LABEL的設備

[root@magedu ~]# blkid -s LABEL
/dev/sda6: LABEL="mydata" 
/dev/sda3: LABEL="MYFILE"

查看系統中所有已經掛在的設備的UUID

[root@magedu ~]# blkid -s UUID
/dev/sda1: UUID="555e9e4f-3ad2-4372-852f-629c3c3f822e" 
/dev/sda2: UUID="d16462e2-eea8-4f55-a258-10f15dd7a956" 
/dev/sda6: UUID="7e89adb1-4617-462e-9ff5-4fb6f26f27f0" 
/dev/sda3: UUID="cbf52738-71f8-46e7-8826-fc6d47470f3b" 
/dev/sda5: UUID="9923a5a7-7dea-4328-9215-fdbf5b5b54ae"

查看指定UUID的設備

[root@magedu ~]# blkid -U "555e9e4f-3ad2-4372-852f-629c3c3f822e" 
/dev/sda1

查看指定LABEL的設備

[root@magedu ~]# blkid -L "mydata" 
/dev/sda6


四、修改ext文件系統的LABEL

e2label

e2label device [new label]

舉例:

e2label device 不加[新標簽] 顯示指定塊設備的LABEL

e2label /dev/sda6

[root@magedu ~]# e2label /dev/sda6
mydata

e2label /dev/sda6 mydata2

更換/dev/sda6 的標簽為mydata2

再次使用 e2label /dev/sda6進行查看

[root@magedu ~]# e2label /dev/sda6

mydata2



五、對現有ext文件系統進行參數調整

1、tune2fs

    -l: 查看指定文件系統超級塊信息:super block

    -L 'LABEL': 修改卷標

    -m #: 修改預留給管理員的空間百分比

    -j: 將ext2升級為ext3

    -O: 文件系統屬性的啟用或禁用

    -o: 調整文件系統的默認掛在選項

    -U UUID: 修改UUID號;

舉例:

[root@magedu ~]# tune2fs -l /dev/sda6
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name:   mydata2
Last mounted on:          <not available>
Filesystem UUID:          7e89adb1-4617-462e-9ff5-4fb6f26f27f0
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash 
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              28112
Block count:              112420
Reserved block count:     5621
Free blocks:              103219
Free inodes:              28101
First block:              1
Block size:               1024
Fragment size:            1024
Reserved GDT blocks:      256
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         2008
Inode blocks per group:   251
Flex block group size:    16
Filesystem created:       Fri Mar  4 00:28:47 2016
Last mount time:          n/a
Last write time:          Fri Mar  4 03:49:16 2016
Mount count:              0
Maximum mount count:      39
Last checked:             Fri Mar  4 00:28:47 2016
Check interval:           15552000 (6 months)
Next check after:         Wed Aug 31 00:28:47 2016
Lifetime writes:          8017 kB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:          128
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      53787485-f7f3-4b39-9970-41f9a2feea62
Journal backup:           inode blocks

用tune2fs修改指定設備LABEL

[root@magedu ~]# tune2fs /dev/sda6 -L mydata4
tune2fs 1.41.12 (17-May-2010)
[root@magedu ~]# e2label /dev/sda6
mydata4

對ext2類型分區增加日志

[root@magedu ~]# blkid /dev/sda3
/dev/sda3: UUID="8809ed74-2399-471a-a2fc-1b338972b05c" TYPE="ext2"
[root@magedu ~]# tune2fs -j /dev/sda3
tune2fs 1.41.12 (17-May-2010)
Creating journal inode: 完成
[root@magedu ~]# blkid /dev/sda3
/dev/sda3: UUID="8809ed74-2399-471a-a2fc-1b338972b05c" SEC_TYPE="ext2" TYPE="ext3"


六、其他相關命令

1、dumpe2fs

查看指定設備上整個文件系統的布局信息

-h: 只查看超級塊信息

舉例:

dumpe2fs /dev/sda5 -h

[root@magedu ~]# dumpe2fs /dev/sda5 -h
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          9923a5a7-7dea-4328-9215-fdbf5b5b54ae
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype sparse_super large_file
Filesystem flags:         signed_directory_hash 
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              50288
Block count:              200804
Reserved block count:     10040
Free blocks:              193336
Free inodes:              50277
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      49
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         7184
Inode blocks per group:   449
Filesystem created:       Fri Mar  4 00:59:55 2016
Last mount time:          n/a
Last write time:          Fri Mar  4 00:59:55 2016
Mount count:              0
Maximum mount count:      37
Last checked:             Fri Mar  4 00:59:55 2016
Check interval:           15552000 (6 months)
Next check after:         Wed Aug 31 00:59:55 2016
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:      41aed820-4405-42e0-acfc-f8349085593e
Journal backup:           inode blocks
Journal features:         (none)
日志大小:             16M
Journal length:           4096
Journal sequence:         0x00000001
Journal start:            0

dumpe2fs /dev/sda5

列出所有區段的詳細內容

[root@magedu ~]# dumpe2fs /dev/sda5
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          9923a5a7-7dea-4328-9215-fdbf5b5b54ae
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype sparse_super large_file
Filesystem flags:         signed_directory_hash 
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              50288
Block count:              200804
Reserved block count:     10040
Free blocks:              193336
Free inodes:              50277
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      49
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         7184
Inode blocks per group:   449
Filesystem created:       Fri Mar  4 00:59:55 2016
Last mount time:          n/a
Last write time:          Fri Mar  4 00:59:55 2016
Mount count:              0
Maximum mount count:      37
Last checked:             Fri Mar  4 00:59:55 2016
Check interval:           15552000 (6 months)
Next check after:         Wed Aug 31 00:59:55 2016
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:      41aed820-4405-42e0-acfc-f8349085593e
Journal backup:           inode blocks
Journal features:         (none)
日志大小:             16M
Journal length:           4096
Journal sequence:         0x00000001
Journal start:            0
Group 0: (Blocks 0-32767)
  主 superblock at 0, Group descriptors at 1-1
  保留的GDT塊位于 2-50
  Block bitmap at 51 (+51), Inode bitmap at 52 (+52)
  Inode表位于 53-501 (+53)
  32260 free blocks, 7173 free inodes, 2 directories
  可用塊數: 508-32767
  可用inode數: 12-7184
Group 1: (Blocks 32768-65535)
  備份 superblock at 32768, Group descriptors at 32769-32769
  保留的GDT塊位于 32770-32818
  Block bitmap at 32819 (+51), Inode bitmap at 32820 (+52)
  Inode表位于 32821-33269 (+53)
  32266 free blocks, 7184 free inodes, 0 directories
  可用塊數: 33270-65535
  可用inode數: 7185-14368
Group 2: (Blocks 65536-98303)
  Block bitmap at 65536 (+0), Inode bitmap at 65537 (+1)
  Inode表位于 65538-65986 (+2)
  28216 free blocks, 7184 free inodes, 0 directories
  可用塊數: 70088-98303
  可用inode數: 14369-21552
Group 3: (Blocks 98304-131071)
  備份 superblock at 98304, Group descriptors at 98305-98305
  保留的GDT塊位于 98306-98354
  Block bitmap at 98355 (+51), Inode bitmap at 98356 (+52)
  Inode表位于 98357-98805 (+53)
  32266 free blocks, 7184 free inodes, 0 directories
  可用塊數: 98806-131071
  可用inode數: 21553-28736
Group 4: (Blocks 131072-163839)
  Block bitmap at 131072 (+0), Inode bitmap at 131073 (+1)
  Inode表位于 131074-131522 (+2)
  32317 free blocks, 7184 free inodes, 0 directories
  可用塊數: 131523-163839
  可用inode數: 28737-35920
Group 5: (Blocks 163840-196607)
  備份 superblock at 163840, Group descriptors at 163841-163841
  保留的GDT塊位于 163842-163890
  Block bitmap at 163891 (+51), Inode bitmap at 163892 (+52)
  Inode表位于 163893-164341 (+53)
  32266 free blocks, 7184 free inodes, 0 directories
  可用塊數: 164342-196607
  可用inode數: 35921-43104
Group 6: (Blocks 196608-200803)
  Block bitmap at 196608 (+0), Inode bitmap at 196609 (+1)
  Inode表位于 196610-197058 (+2)
  3745 free blocks, 7184 free inodes, 0 directories
  可用塊數: 197059-200803
  可用inode數: 43105-50288

2、mkswap 創建交換分區

    mkswap [OPTIONS] device

        -L ‘LABEL’

    要創建swap分區 在fdisk時先要調整分區id為82

先創建一個新的分區

[root@magedu ~]# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000cb368
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1306    10485760   83  Linux
/dev/sda2            1306        1561     2048000   82  Linux swap / Solaris
/dev/sda3            1561        2000     3530216   83  Linux
/dev/sda4            2001        2610     4899825    5  Extended
/dev/sda5            2001        2100      803218+  83  Linux
/dev/sda6            2101        2114      112423+  83  Linux
Command (m for help): n
First cylinder (2115-2610, default 2115): 2115
Last cylinder, +cylinders or +size{K,M,G} (2115-2610, default 2610): 2200
Command (m for help): p
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000cb368
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1306    10485760   83  Linux
/dev/sda2            1306        1561     2048000   82  Linux swap / Solaris
/dev/sda3            1561        2000     3530216   83  Linux
/dev/sda4            2001        2610     4899825    5  Extended
/dev/sda5            2001        2100      803218+  83  Linux
/dev/sda6            2101        2114      112423+  83  Linux
/dev/sda7            2115        2200      690763+  83  Linux

//改變分區id為82

Command (m for help): t
Partition number (1-7): 7
Hex code (type L to list codes): 82
Changed system type of partition 7 to 82 (Linux swap / Solaris)
Command (m for help): p
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000cb368
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        1306    10485760   83  Linux
/dev/sda2            1306        1561     2048000   82  Linux swap / Solaris
/dev/sda3            1561        2000     3530216   83  Linux
/dev/sda4            2001        2610     4899825    5  Extended
/dev/sda5            2001        2100      803218+  83  Linux
/dev/sda6            2101        2114      112423+  83  Linux
/dev/sda7            2115        2200      690763+  82  Linux swap / Solaris

確認后w,保存退出,使用portx加載到內核

[root@magedu ~]# partx -l /dev/sda
# 1:      2048- 20973567 ( 20971520 sectors,  10737 MB)
# 2:  20973568- 25069567 (  4096000 sectors,   2097 MB)
# 3:  25069568- 32129999 (  7060432 sectors,   3614 MB)
# 4:  32130000- 41929649 (  9799650 sectors,   5017 MB)
# 5:  32130063- 33736499 (  1606437 sectors,    822 MB)
# 6:  33736563- 33961409 (   224847 sectors,    115 MB)
# 7:  33961473- 35342999 (  1381527 sectors,    707 MB)
[root@magedu ~]# partx -a /dev/sda
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
BLKPG: Device or resource busy
error adding partition 3
BLKPG: Device or resource busy
error adding partition 4
BLKPG: Device or resource busy
error adding partition 5
BLKPG: Device or resource busy
error adding partition 6

//格式化為swap

[root@magedu ~]# mkswap /dev/sda7
Setting up swapspace version 1, size = 690756 KiB
no label, UUID=edf99f0a-32ea-4030-ae5c-137a09bf0dc1
[root@magedu ~]# blkid
/dev/sda1: UUID="555e9e4f-3ad2-4372-852f-629c3c3f822e" TYPE="ext4" 
/dev/sda2: UUID="d16462e2-eea8-4f55-a258-10f15dd7a956" TYPE="swap" 
/dev/sda6: LABEL="mydata4" UUID="7e89adb1-4617-462e-9ff5-4fb6f26f27f0" TYPE="ext4" 
/dev/sda3: UUID="8809ed74-2399-471a-a2fc-1b338972b05c" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sda5: UUID="9923a5a7-7dea-4328-9215-fdbf5b5b54ae" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sda7: UUID="edf99f0a-32ea-4030-ae5c-137a09bf0dc1" TYPE="swap"


七、文件系統檢測

1、fsck

    檢查與修復Linux文件系統

    有兩種格式:

    fsck.FS_TYPE

    fsck -t FS_TYPE

        -a:自動修復錯誤

        -r:交互式修復錯誤

    注意:此處的FS_TYPE一定要與分區上已有的文件類型相同

[root@magedu ~]# fsck -a /dev/sda3
fsck from util-linux-ng 2.17.2
/dev/sda3: clean, 11/220752 files, 31777/882554 blocks

2、e2fsck

    ext系列文件專用的檢測修復工具

    -y: 自動回答為yes;

    -f: 強制修復

舉例:

 e2fsck -y /dev/sda5

[root@magedu ~]# e2fsck -y /dev/sda5
e2fsck 1.41.12 (17-May-2010)
/dev/sda5: clean, 11/50288 files, 7468/200804 blocks

e2fsck -f /dev/sda5

[root@magedu ~]# e2fsck -f /dev/sda5
e2fsck 1.41.12 (17-May-2010)
第一步: 檢查inode,塊,和大小
第二步: 檢查目錄結構
第3步: 檢查目錄連接性
Pass 4: Checking reference counts
第5步: 檢查簇概要信息
/dev/sda5: 11/50288 files (0.0% non-contiguous), 7468/200804 blocks

原創文章,作者:mulderxu,如若轉載,請注明出處:http://www.www58058.com/32943

(0)
mulderxumulderxu
上一篇 2016-08-15
下一篇 2016-08-15

相關推薦

  • Linux Service and Security(Part 2)

    接PART 1 4、SSH端口轉發:SSH會自動加密和解密所有SSH客戶端與服務端之間的網絡數據。但是,SSH還能夠將其它TCP端口的網絡數據通過SSH鏈接來轉發,并且自動提供了相應的加密及解密服務,這一過程也被叫做“隧道(tunneling)”。telnet,SMTP,LDAP這些TCP應用均能夠從中得益,避免了用戶名、密碼以及隱私信息的明文傳輸。同時,如…

    Linux干貨 2016-10-09
  • 系統啟動流程

    linux系統啟動流程 內核的設計結構單內核:linux(線程–lwp輕量級進程)微內核:windows(支持真正意義上的多線程) 單內核:很多功能驅動都集成在一起 微內核:內核很小,功能單一。模塊化 linux為了適應眾多用戶的不同硬件需求,linux內核在設計上采用模塊化設計。可以動態加載模塊。核心模塊:ko 內核所獨有的。共享對象:so 紅…

    Linux干貨 2016-09-19
  • RPM及YUM工具介紹及使用(下)

    YUM工具 YUM工作原理 YUM工具的出現就是為了解決rpm工具不能夠自動解決軟件包之間的依賴關系這一難題的。它的工作原理大致如下:YUM透過分析RPM的標頭資料,根據各軟件的相關性找出軟件所依賴的軟件列表,然后去下載速度最快的yum倉庫中下載所有相關RPM軟件包,然后完成相應軟件的安裝。同時yum工具和rpm工具一樣,也可以提供對軟件包的查詢,安裝、升級…

    Linux干貨 2016-12-26
  • Linux程序包管理

      Linux的各個release版本開發商,在發布各種應用程序,以及一些團體發布應用程序時,通常會根據發布的程序所適應的開發語言,使用環境,預設參數等,事先編譯完成一個可以在相應平臺上安裝的程序包供使用者直接使用,該程序包含有安裝前(preinstall)操作系統環境檢測的腳本,程序包中所有文件的相關信息,程序預定義的配置參數文件,程序…

    Linux干貨 2016-11-30
  • Linux基礎——文件管理

    Linux基礎——文件管理 文件管理及常用命令詳解       Linux文件系統是以/為基本的倒置樹狀結構,我們來進一步學習下文件或者目錄的操作和管理命令:  目錄相關操作:cd、pwd、mkdir、rmdir 目錄及文件檢索:ls 復制、移動、刪除:cp、mv、rm…

    Linux干貨 2016-09-27
  • find命令詳解

    find命令詳解 實時查找工具,通過遍歷指定起始路徑下文件系統層級結構完成文件查找; 一、工作特性: 查找速度略慢; 精確查找,只查找文件路徑的基名而非整個路徑; 實時查找; 可能只搜索用戶具備讀取和執行權限的目錄 二、 用法: find [查找起始路徑] [OPTIONS] [查找條件] [處理動作] 查找起始路徑:指定具體搜索目標起始路徑;默認為當前目錄…

    Linux干貨 2017-03-19
欧美性久久久久