Linux運維實戰之5:磁盤分區、格式化

在網絡系統中,磁盤和文件系統管理是兩個非?;?、同時也是非常重要的管理任務,特別是文件系統管理,因為它與用戶權限和整個網絡系統的安全息息相關。本次博文的主題是關于Linux系統中磁盤分區、格式化及掛載,下次博文我們再詳細討論文件系統管理。


在操作系統中,磁盤管理屬于設備管理的范疇。一塊硬盤安裝到主機之后稱為裸設備,若要能夠在Linux系統中使用必須對其進行如下步驟:分區=>格式化(創建文件系統)=>掛載我們先來談談Linux系統中的設備類型。

一、Linux系統中的設備類型:

Linux沿襲Unix的風格,將所有設備認成是一個文件。

設備文件分為兩種: 
1、塊設備文件(b):

通常稱為“隨機設備”。所謂“塊設備”是指對其信息的存取以“塊”為單位,如通常的光盤、硬盤、軟盤、磁帶等,塊長取512、10244096字節。塊設備可以直接通過塊設備特別文件來訪問。為了提高數據的傳輸效率,塊設備驅動程序內部采用塊緩沖技術。

2、字符設備文件(c):

通常稱為“線性設備”。所謂“字符設備”是指在I/O傳輸中以字符為單位進行傳輸的設備,如鍵盤,打印機等。不過需要注意的是以字符為單位并不一定意味著是以字節為單位,因為有的編碼規則規定,一個字符占16bit,合2個字節。

設備文件一般存放在/dev目錄下:

/dev/hd[a-t]:IDE設備

/dev/sd[a-z]:SCSI設備

/dev/fd[0-7]:標準軟驅

/dev/md[0-31]:軟raid設備

/dev/loop[0-7]:本地回環設備

/dev/ram[0-15]:內存

/dev/null:無限數據接收設備 ,相當于回收站

/dev/zero:無限零資源,有點像冒泡機

/dev/tty[0-63]:虛擬終端

/dev/ttyS[0-3]:串口

/dev/lp[0-3]:并口

/dev/console:控制臺

/dev/fb[0-31]:framebuffer

/dev/cdrom -> /dev/hdc

/dev/modem -> /dev/ttyS[0-9]

/dev/pilot -> /dev/ttyS[0-9]

/dev/console:控制臺

Tips:控制臺和虛擬終端的區別與聯系:

控制臺就好比電視機上的按鈕,終端好比遙控板,他們的目的都是控制電視機,但是控制臺必須在本地,而終端可以在遠端,系統只有一個控制臺,叫console,其他的都是終端


二、Linux系統中的磁盤及分區:

1、磁盤基礎:

日常生活和工作中,常見的磁盤種類有以下幾種:

(1)IDE(ATA)硬盤:

集成磁盤電子接口,Integrated Device Electronics,并行傳輸數據, 最大的理論傳輸速率為133MB/s

SATA:全稱是Serial Advanced Technology Attachment(串行高級技術附件,一種基于行業標準的串行硬件驅動器接口)就是我們現在經常所說的SATA; 常見的理論傳輸速率:300MB/s, 600MB/s, 6Gb/s

(2)SCSI硬盤:

Small Computer System Interface, UltraSCSI   標準傳輸速率為320MB/s   常見轉速:10000 RPM, 15000RPM 

SAS:串行版的SCSI硬盤,最大傳輸速率:6Gbps

(3)SSD硬盤:

Disk固態硬盤(Solid State Disk)用固態電子存儲芯片陣列而制成的硬盤,由控制單元和存儲單元(FLASH芯片、DRAM芯片)組成。固態硬盤的接口規范和定義、功能及使用方法上與普通硬盤的完全相同,在產品外形和尺寸上也完全與普通硬盤一致。

(4)USB硬盤:

常見USB接口規范:1.1, 2.0, 3.0

2、Linux系統中的磁盤分區

(1)磁盤分區基礎:

  • 首先問大家一個問題:磁盤為什么需要分區?

如果沒有分區,我們要在一個磁盤上安裝兩個以上的操作系統是無法辦到的。因此,每一個分區可以當做獨立的文件系統來使用以便于安裝多個操作系統,這就是磁盤需要分區的原因。

  • Linux中不同類型的硬盤和分區文件名不同:

IDE硬盤和分區文件名:

Linux對連接到IDE接口的硬盤使用/dev/hdxy的方式命名,其中hd表示硬盤為IDE類型,x表示硬盤序號,x的值可以是a、b、c、d。 y為分區號;如第二塊IDE硬盤的第二個分區系統中文件名為hdb2

SATA或者SCSI硬盤和分區文件名:

連接到SCSI接口的設備使用ID號進行區別,SCSI設備ID號為0~15,SCSI接口卡本身的ID號是7。Linux對連接到SCSI接口卡的硬盤使用/dev/sdx的方式命名,x的值可以是a、b、c、d等,即ID號為0的SCSI硬盤名為/dev/sda,ID號為1的SCSI硬盤名為/dev/sdb,以此類推。LINUX對SCSI硬盤最多支持15個分區。

Linux運維實戰之5:磁盤分區、格式化Linux運維實戰之5:磁盤分區、格式化

說明:

a、所有使用USB接口的移動存儲設備,不論是移動硬盤、優盤,還是USB光驅,都一律使用/dev/sdxx的設備文件。光驅(光盤)的設備文件一般默認為/dev/cdrom,這個就與光驅的接口無關了。

b、一個硬盤最多可以有4個(主+擴展)分區,其中,擴展分區只能有一個(如圖中的/dev/hda2為擴展分區,/dev/hda5為擴展分區中劃分的邏輯分區),分區的形式只能有兩種: 

P+P+P+P 
P+P+P+E //P表示主分區,E表示擴展分區(擴展分區保存的是磁盤的二級分區表,它指向具體的邏輯分區,這是我個人的理解哈)
因1~4號己被保留,所以第1個邏輯分區的代號由5號開始,以此順序增加到磁盤號,若未劃分/dev/sda3,/dev/sda4分區,則這兩個代號是空的被保留下來的代號。 邏輯分區和主分區沒有關系,只與MBR的空間有關系

  • MBR(Main/Master Boot Record)知識點:

引導扇區在每個分區里都存在,但我們常說的主引導扇區(也叫主引導記錄MBR)是硬盤的第一物理扇區。它位于磁盤的0磁頭0柱面1扇區且由兩個部分組成:bootloader+硬盤分區表DPT其中bootloader的作用就是檢查分區表是否正確以及確定哪個分區為引導分區,并在程序結束時把該分區的啟動程序(也就是操作系統引導扇區)調入內存加以執行。簡言之,bootloader就是用來加載內核的。

在總共512字節的主引導扇區里其中bootloader446個字節(偏移0–偏移1BDH),DPT64個字節(偏移1BEH–偏移1FDH,每16字節保存一個分區的信息,所以主分區最多只能有4個),最后兩個字節“55,AA”(偏移1FEH偏移1FFH)是分區的結束標志,稱為“魔數(MagicNumber)”,表示當前分區是否可引導(5A表示可引導)。也就是說MBR=bootloader+DPT+MagicNumber,大致的結構如下圖:

blob.png

(2)Linux下的磁盤分區:

命令名稱:fdisk 

命令所在路徑:/sbin/fdisk

執行權限:root

功能描述:磁盤分區相關操作,最多支持15個分區

語法:fdisk [option] [DEVICE]

常用選項:

    -l:查看當前磁盤分區的詳細情況

范例:

[root@Centos ~]# fdisk -l   #查看磁盤的分區情況,不帶參數顯示的是當前主機上所有的磁盤分區情況
Disk /dev/sda: 107.4 GB, 107374182400 bytes       #當前主機只有一塊磁盤,容量107.4GB
255 heads, 63 sectors/track, 13054 cylinders      #此處顯示該硬盤的具體參數:共255個磁頭,每個磁道63個扇區,共13054個柱面
Units = cylinders of 16065 * 512 = 8225280 bytes      
Sector size (logical/physical): 512 bytes / 512 bytes   #此處顯示扇區大小,每個扇區512個字節
I/O size (minimum/optimal): 512 bytes / 512 bytes     #I/O大小,說明讀寫一個數據最小需要512字節
Disk identifier: 0x00097863

Device Boot      Start         End      Blocks   Id  System
/dev/sda1 *           1          26      204800   83  Linux     #第一個分區,按柱面劃分,從第一個柱面開始,到26個柱面結束
Partition 1 does not end on cylinder boundary.  #此處的警告說明該分區沒有包含整個柱面(一個柱面一定要屬于一個分區,否則就會給出警告)
/dev/sda2 26          91      524288   82  Linux swap / Solaris    #第二個分區,分區類型為“交換分區”
Partition 2 does not end on cylinder boundary.
/dev/sda3 91       13055   104127488   83  Linux      #第三個分區,分區類型為Linux分區

fdisk是交互式命令,其下有許多子命令,說明如下:

[root@Centos ~]# fdisk /dev/sda     #fdisk的參數是設備名稱而非分區名
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): m        #交互式命令,提示鍵入“m”以獲取幫助

Command action             #可以看到,fdisk有如下這么多的子命令

a   toggle a bootable flag     #設定可啟動標記
b   edit bsd disklabel
c   toggle the dos compatibility flag
d   delete a partition            #刪除一個分區
l   list known partition types    #各分區類型所對應的System ID
m   print this menu        
n   add a new partition          #新建一個分區
o   create a new empty DOS partition table
p   print the partition table      #顯示當前的分區信息
q   quit without saving changes    #不保存退出           
s   create a new empty Sun disklabel
t   change a partition's system id    #修改指定分區的System ID
u   change display/entry units
v verify the partition table
w   write table to disk and exit    #保存退出
x   extra functionality (experts only)

我們重點來看下“l”子命令,用于列出Linux支持的分區所對應的System ID

[root@Centos ~]# 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): 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            
1e  Hidden W95 FAT1

Linux運維實戰之5:磁盤分區、格式化其中常用的類型為:

82:Linux swap交換分區

83:Linux分區

8e:Linux邏輯卷

fd:Soft Raid

下面我們來進行常規的分區操作哈!

  • 首先來查看下當前主機的分區情況:

[root@Centos ~]# 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): p 

Disk /dev/sda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 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: 0x00097863

 Device Boot      Start         End      Blocks   Id  System
/dev/sda1 *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26          91      524288   82  Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3 91       13055   104127488   83  Linux   #這里可以看到該主機上已經沒有尚未劃分的磁盤空間

既然沒有多余的磁盤空間來創建分區,那我們先來刪除其中一個分區:

Disk /dev/sda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 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: 0x00097863

  Device Boot      Start         End      Blocks   Id  System
/dev/sda1 *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26          91      524288   82  Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3 91       13055   104127488   83  Linux

Command (m for help): d    #刪除一個分區
Partition number (1-4): 4  #根據前面的內容,主分區+擴展分區的數目只能是4個
Warning: partition 4 has empty type #顯示第4個分區不存在哈
Command (m for help): d
Partition number (1-4): 3   #刪除第3個分區
Command (m for help): p   #驗證結果,可以看到sda3分區被刪除了

Disk /dev/sda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 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: 0x00097863

  Device Boot      Start         End      Blocks   Id  System
/dev/sda1 *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26          91      524288   82  Linux swap / Solaris
Partition 2 does not end on cylinder boundary.

創建擴展分區:

[root@Centos ~]# fdisk /dev/sda

Command (m for help): n  #創建一個新分區
Command action

 e   extended       #鍵入e鍵創建擴展分區
 p   primary partition (1-4)  #鍵入p鍵創建主分區

e     #我們要創建擴展分區哈

Partition number (1-4):3     #分區號我們就選3哈

First cylinder (91-13054, default 91):  #選擇起始柱面,默認是91

Using default value 91

Last cylinder, +cylinders or +size{K,M,G} (91-13054, default 13054): +10G    #選擇結束柱面,這里可以用+K,+M,+G的方法輸入

Command (m for help): p    #驗證結果

Disk /dev/sda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 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: 0x00097863

Device Boot      Start         End      Blocks   Id  System
/dev/sda1 *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26          91      524288   82  Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3 91        1396    10483258    5  Extended    #可以看到創建了擴展分區哈

創建邏輯分區:(擴展分區創建好了之后不能拿來直接使用哈,要想使用還需要創建邏輯分區)

Command (m for help): n

Command action

 l   logical (5 or over)   #鍵入“l”創建邏輯分區(提示分區號從5開始哈)
 p   primary partition (1-4)
 
l

First cylinder (91-1396, default 91):
Using default value 91
Last cylinder, +cylinders or +size{K,M,G} (91-1396, default 1396): +200G

Value out of range.    #提示超出范圍了哈

Last cylinder, +cylinders or +size{K,M,G} (91-1396, default 1396): +5G  

Command (m for help): p

Disk /dev/sda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 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: 0x00097863

Device Boot      Start         End      Blocks   Id  System
/dev/sda1 *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26          91      524288   82  Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3 91        1396    10483258    5  Extended 
/dev/sda5 91         744     5246036+  83  Linux    #創建了邏輯分區哈,可以看到分區號是sda5

重要說明

(1)分區創建好了之后,用fdisk -l命令可以查看分區情況,但需要注意的是:雖然fidsk命令列出了所有的分區情況,不代表新分區就可以被操作系統識別了,文件系統是內核的功能(即軟件能識別新分區但內核并不能識別),可以用"cat /proc/partitions"命令查看,若要內核能識別需要把分區變化情況同步到內核。

(2)要特別注意:分區及格式化操作會永久地破壞目前存在于該分區上的任何數據,操作時需要特別小心(操作前對原有數據做備份)!

  • 查看內核識別的分區信息:

[root@Centos dev]# fdisk -l         #查看當前系統所有的磁盤分區情況

Disk /dev/sdb: 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: 0x0aeb57a8

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         262     2104483+  83  Linux     #sdb硬盤只有一個分區哈

Disk /dev/sda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 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: 0x00097863

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26          91      524288   82  Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3              91       13055   104127488   83  Linux   
[root@Centos dev]# cat /proc/partitions   #查看內核識別的分區信息 
major minor  #blocks  name         #所有的分區都能被內核識別哈,只有這樣才能格式化分區操作哈;如果不能被內核識別,則我們可以讓內核重新讀取DPT

   8       16   10485760 sdb
   8       17    2104483 sdb1
   8        0  104857600 sda
   8        1     204800 sda1
   8        2     524288 sda2
   8        3  104127488 sda3

讓內核重新讀取硬盤分區表:

RHEL5:partprobe  [DEVICE]

說明:RHEL5上該命令的執行能夠成功,但RHEL6上可能不行,需要重新啟動系統

[root@Centos ~]# partprobe /dev/sda      #提示需要重啟系統所有分區才能被內核識別(其實windows系統也是這樣的,分區完之后會提示用戶重啟系統以便內核讀?。?
Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (Device or resource busy).
As a result, it may not reflect all of your changes until after reboot.

 RHEL6:partx -a [PARTITION] DEVICE

[root@Centos ~]# partx -a /dev/sdb   #不帶分區選項表示讀取指定硬盤的所有分區
BLKPG: Device or resource busy       #顯示設備繁忙無法添加分區哈
error adding partition 1

我們手動添加來試試哈!

[root@Centos dev]# partx -a sdb1 /dev/sdb   #手動添加成功了哈
[root@Centos dev]#

三、Linux系統中文件系統的創建(磁盤格式化):

Tips:只有內核能夠識別硬盤分區信息之后,我們才能夠對硬盤格式化,格式化的過程也就是創建文件系統的過程,文件系統通常由內核提供

1、Linux系統所支持的文件系統類型:

以管理員身份登錄,查看"/lib/modules/2.6.32-358.el6.x86_64/kernel/fs/ ”目錄

[root@Centos ~]# ls /lib/modules/2.6.32-358.el6.x86_64/kernel/fs/
autofs4  cachefiles  configfs  dlm       exportfs  ext3  fat      fuse  jbd   jffs2  mbcache.ko  nfs_common  nls       ubifs  xfs
btrfs    cifs        cramfs    ecryptfs  ext2      ext4  fscache  gfs2  jbd2  lockd  nfs         nfsd        squashfs  udf

可以看到Linux支持這么多的文件系統哈,下面我們對常用的文件系統類型做一個簡單介紹。

(1)minix 
   是Minix操作系統使用的文件系統,是Linux最先使用的文件系統。它有許多缺點:分區只能小于64MB,只支持短文件名,單一的時間戳,等等。在軟盤和動態磁盤領域仍然有用。

(2)ext 
   是對Minix的擴展。已完全被ext2取代,內核最終將不會支持它。

(3)ext2 
   是Linux使用的,性能很好的文件系統,用于固定文件系統和可活動文件系統。它是作為ext文件系統的擴展而設計的。ext2在Linux所支持的文件系統中,提供最好的性能(在速度和CPU使用方面),簡短的說,ext2是Linux的主要文件系統。

(4)ext3 
   是對ext2增加日志功能后的擴展。是RHEL5中默認使用的文件系統類型。它向前、向后兼容ext2,意為ext2不用丟失數據和格式化就可以轉換為ext3,ext3也可以轉換為ext2 而不用丟失數據(只要重新安裝該分區就行了),強烈推薦使用這種文件系統。

(5)ext4

   為第4代擴展文件系統,是RHEL6中默認使用的文件系統類型,屬于典型的日志型文件系統。其特點是保持有磁盤存取記錄的日志數據,便于恢復,性能和穩定性更加出色。

(6)ReiserFS/JFS

   仍然在完善的帶日志文件系統,特別適合小文件的文件系統

(7)ISO9660文件系統

   該文件系統中光盤所使用的標準文件系統,Linux對該文件系統也有很好的支持,不僅能讀取光盤和光盤ISO映像文件,而且還支持在Linux環境中刻錄光盤。

(8)NFS文件系統 
   NFS即網絡文件系統,用于在UNIX系統間通過網絡進行文件共享,用戶可將網絡中NFS服務器提供的共享目錄掛載到本地的文件目錄中,從而實現操作和訪問NFS文件系統中的內容。

(9)swap文件系統

   swap文件系統用于Linux的交換分區。在Linux中,使用整個交換分區來提供虛擬內存,其分區大小一般應是系統物理內存的2倍,在安裝Linux操作系統時,就應創建交換分區, 它是Linux正常運行所必需的,其類型必須是swap,交換分區由操作系統自行管理。

 

2、創建文件系統(格式化分區):

blob.png

 配置文件/etc/mke2fs.conf可以定義文件系統類型,下面進行簡單說明:

[root@Centos ~]# cat /etc/mke2fs.conf 
[defaults]    #默認選項
        base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr    #默認創建的文件系統是ext2;
       #若 base_features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize  則默認創建ext4文件系統
        blocksize = 4096     #默認塊大小,對于大文件塊越小越好
        inode_size = 256
       inode_ratio = 16384
[fs_types]
        ext3 = {
                features = has_journal
        }
        ext4 = {
                features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
                inode_size = 256
        }
        ext4dev = {
                features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
                inode_size = 256
                options = test_fs=1
        }
        small = {
                blocksize = 1024
                inode_size = 128
                inode_ratio = 4096
        }

舉例說明:

[root@Centos dev]# mkfs -t ext3 /dev/sdb1   #用ext3文件系統格式化sdb1分區
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)          #塊大小為4096B
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe  style="color: #800080">0 blocks
131648 inodes, 526120 blocks
26306 blocks (5.00%) reserved for the super user    #默認分區的5%的空間預留給管理使用的塊
First data block=0
Maximum filesystem blocks=541065216
17 block groups
32768 blocks per group, 32768 fragments per group
7744 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912

Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 39 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@Centos dev]# mke2fs -b 2048 /dev/sdb1    #調整分區sdb1的塊大小為2048B
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=2048 (log=1)            #可以看到塊大小變成了2048B了哈
Fragment size=2048 (log=1)
Stride=0 blocks, Stripe  style="color: #800080">0 blocks
131560 inodes, 1052240 blocks
52612 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=538968064
65 block groups
16384 blocks per group, 16384 fragments per group
2024 inodes per group
Superblock backups stored on blocks: 
        16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816

Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

3、查看/調整文件系統參數:
blob.png

舉例說明:

[root@Centos dev]# tune2fs -l /dev/sdb1     #查看sdb1分區的超級塊信息
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          8f9d5e47-c3e2-441f-b29f-e0a9dd508632         #UUID
Filesystem magic number:  0xEF53                        #文件系統魔數
Filesystem revision #:    1 (dynamic)
Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super
Filesystem flags:         signed_directory_hash 
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              131560
Block count:              1052240            #總共塊的數目
Reserved block count:     52612
Free blocks:              1031020
Free inodes:              131549
First block:              0
Block size:               2048              #塊大小
Fragment size:            2048
Reserved GDT blocks:      512
Blocks per group:         16384
Fragments per group:      16384
Inodes per group:         2024
Inode blocks per group:   253
Filesystem created:       Wed Feb 26 14:13:10 2014          #文件系統創建日期
Last mount time:          n/a
Last write time:          Wed Feb 26 14:13:10 2014
Mount count:              0
Maximum mount count:      20
Last checked:             Wed Feb 26 14:13:10 2014
Check interval:           15552000 (6 months)
Next check after:         Mon Aug 25 14:13:10 2014
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
Default directory hash:   half_md4
Directory Hash Seed:      7b570d3a-1fe3-4d12-a9c3-3a5811e8cbe4

設定卷標/查看卷標、UUID和文件系統類型:

[root@Centos ~]# e2label /dev/sdb1 MYDATA   #設定sdb1的卷標為MYDATA
[root@Centos ~]# blkid /dev/sdb1     #UUID、文件系統類型和卷標
/dev/sdb1: UUID="284c3316-e0f8-4a87-8d49-72ab1c9964ae" TYPE="ext4" LABEL="MYDATA"

文件系統創建完之后,我們還需要掛載分區才能夠正常使用新創建好的分區。
下次博文我們具體來討論下掛載/卸載(參見:http://www.www58058.com/62484)

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

(0)
N4_jjxN4_jjx
上一篇 2016-11-26 21:02
下一篇 2016-11-26 21:53

相關推薦

  • 7月21號:CentOS6.8(及7)基礎配置項+Linux入門(1)

    7月21號,馬哥第二天,主要內容有三個部分:一、基本命令復習二、CentOS6.8(及7)基礎配置項;三、linux入門(1) 一、基本命令復習    ls         查看文件內容  l查看文件詳細信息  -a顯示包含隱藏文…

    Linux干貨 2016-08-05
  • 馬哥教育網絡班21期+第9周課程練習

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; [root@localhost test]# ./exercise3.sh  be eable to login us…

    Linux干貨 2016-08-05
  • N25-第六周

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#;      cp /etc/rc.d/rc.sysinit /tmp     &nbsp…

    Linux干貨 2017-03-08
  • 馬哥教育網絡班22期第五周課程練習1

    1、cat /etc/passwd  | egrep "^root|^fedora|^user1"| cut -d":" -f1,7  2、egrep -o  "[^[:space:]]+\(\)" /etc/rc.d/init.d/functions   3…

    Linux干貨 2016-09-15
  • Nginx

        Nginx(發音同engine x)是一個 Web服務器,也可以用作反向代理,負載平衡器和 HTTP緩存。Nginx 可以部署在網絡上使用 FastCGI,腳本,SCGI 處理程序,WSGI 應用服務器或 Phusion 乘客模塊的動態 HTTP 內容,并可作為軟件負載均衡器。Nginx 使…

    Linux干貨 2017-08-29
  • Heartbeat-Gui V2 實現HA LAMP 搭建wordpress博客

    環境:           N F S: 172.16.0.3 (OS CentOS 7)           node1:172.16.0.5 (OS CentOS 6.7)    &nb…

    Linux干貨 2016-10-27

評論列表(1條)

  • luoweiro
    luoweiro 2016-11-30 23:45

    知識點總結的非常不錯,在磁盤管理那部分結合知識和實戰總結的非常到位,值得大家學習。

欧美性久久久久