1. 程式人生 > > linux ext4無法使用超過16T磁碟的解決辦法

linux ext4無法使用超過16T磁碟的解決辦法

系統環境:Centos6.7 x86_64 己updte 磁碟:12*4T raid5 +hot 說明:作業系統與歸檔都使用同一個raid5 應用環境:郵局系統【檔案大小從1K到100K不等,除附件】 一、檢視分割槽 【fdisk -l】 
[[email protected] sysadmin]# fdisk -lWARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.Disk /dev/sda: 40000.0 GB, 39999997214720 bytes255 heads, 63 sectors/track, 4863055 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000   Device Boot      Start         End      Blocks   Id  System/dev/sda1               1      267350  2147483647+  ee  GPT 

 

 說明:此時檔案系統己經超過16T,OS預設將其轉換成了GPT格式的,所以使用fdisk無法檢視到準確的分割槽資訊。 二、使用parted 檢視分割槽資訊 
[[email protected] sysadmin]# partedGNU Parted 2.1Using /dev/sdaWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) p                                                               Model: LSI AOC-USAS2LP-H8iR (scsi)Disk /dev/sda: 40.0TBSector size (logical/physical): 512B/512BPartition Table: gptNumber  Start   End     Size    File system     Name      Flags1      1049kB  525MB   524MB   ext42      525MB   263GB   262GB   ext43      263GB   284GB   21.0GB  ext44      284GB   288GB   4295MB  linux-swap(v1) 

 

 三、將餘下的空間都分為/archive 作為歸檔的根目錄
(parted)  mkpart /archive 288G -1(parted) p                                                             Model: LSI AOC-USAS2LP-H8iR (scsi)Disk /dev/sda: 40.0TBSector size (logical/physical): 512B/512BPartition Table: gptNumber  Start   End     Size    File system     Name      Flags1      1049kB  525MB   524MB   ext42      525MB   263GB   262GB   ext43      263GB   284GB   21.0GB  ext44      284GB   288GB   4295MB  linux-swap(v1)5      288GB   40.0TB  39.7TB                  /archive(parted)q 

 

 四、檢視分割槽 [ [email protected] ~]# fdisk /dev/sdasda   sda1  sda2  sda3  sda4  sda5 [ [email protected] ~]# 說明:此時己經找到新的分割槽【sda5】 五、修改/etc/mke2fd.conf
#vim /etc/mke2fs.conf[fs_types]        ext3 = {                features = has_journal        }        ext4 = {                features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize                auto_64-bit_support = 1  #新增這一行                inode_size = 256        } 

 

六、下載e2fsprogs-1.42.13.tar.gz 
[[email protected] ~]# wget -c http://jaist.dl.sourceforge.net/project/e2fsprogs/e2fsprogs/v1.42.8/e2fsprogs-1.42.13.tar.gz[[email protected] e2fsprogs-1.42.13]# pwd/home/sysadmin/e2fsprogs-1.42.13[[email protected] e2fsprogs-1.42.13]# cd build/[[email protected] build]# ../configure....[[email protected] build]# make &;&; make install 

 

 七、格式化分割槽
[[email protected] ~]# mke2fs -O 64bit,has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize -i 2048  /dev/sda5[[email protected] build]# blkid/dev/sda1: UUID="908a3c8e-6d6a-4e01-8cad-2094ea99751f" TYPE="ext4"/dev/sda3: UUID="b533714f-4cb9-4394-907d-8d1ead424c85" TYPE="ext4"/dev/sda2: UUID="0a0ec20e-b50b-4d89-9fa6-65602e4e8a3d" TYPE="ext4"/dev/sda4: TYPE="swap" UUID="b8e89719-670f-4b26-bbf3-86d13a1f935e"/dev/sda5: UUID="3b5789ee-94c2-4296-bd99-5669200d826a" TYPE="ext4" 

 

注:  mke2fs格式說明:   -b<區塊大小>:指定區塊大小,單位為位元組;   -c;檢查是否有損壞的區塊;   -f<不連續區段大小>:指定不連續區段的大小,單位為位元組;   -F:不管指定的裝置為何,強制執行mke2fs;   -i<位元組>:指定"位元組/inode"的比例;   -N:指定要建立的inode數目;   -l<檔案>:從指定的檔案中,讀取檔案西中損壞區塊的資訊;   -L<標籤>:設定檔案系統的標籤名稱;   -m<百分比值>:指定給管理員保留區塊的比例,預設為5%;   -M:記錄最後一次掛入的目錄; -q:執行時不顯示任何資訊;   -r:指定要建立的ext2檔案系統版本;   -R=<區塊數>:設定磁碟陣列引數;   -S:僅寫入superblock與group descriptors,而不更改inode able inode bitmap以及block bitmap;   -v:執行時顯示詳細資訊;   -V:顯示版本資訊。 八、將對應的分割槽掛載即可以使用 
[[email protected] build]# df -hFilesystem      Size  Used Avail Use% Mounted on/dev/sda3        20G  2.4G   16G  14% /tmpfs           7.8G     0  7.8G   0% /dev/shm/dev/sda1       477M   80M  372M  18% /boot/dev/sda2       241G  120M  228G   1% /home/dev/sda5        36T   20K   34T   1% /archive[[email protected] build]# df -iFilesystem         Inodes IUsed      IFree IUse% Mounted on/dev/sda3         1281120 91214    1189906    8% /tmpfs             2040386     1    2040385    1% /dev/shm/dev/sda1          128016    46     127970    1% /boot/dev/sda2        16007168  1955   16005213    1% /home/dev/sda5      4293781536    11 4293781525    1% /archive 

 

九、檢視磁碟資訊
[[email protected] build]# tune2fs -l /dev/sda5tune2fs 1.42.13 (17-May-2015)Filesystem volume name:   <none>Last mounted on:          <not available>Filesystem UUID:          3b5789ee-94c2-4296-bd99-5669200d826aFilesystem magic number:  0xEF53Filesystem revision #:    1 (dynamic)Filesystem features:      has_journal ext_attr dir_index filetype needs_recovery extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isizeFilesystem flags:         signed_directory_hashDefault mount options:    user_xattr aclFilesystem state:         cleanErrors behavior:          ContinueFilesystem OS type:       LinuxInode count:              4293781536Block count:              9695327232Reserved block count:     484766361Free blocks:              9426221107Free inodes:              4293781525First block:              0Block size:               4096Fragment size:            4096Group descriptor size:    64Blocks per group:         32768Fragments per group:      32768Inodes per group:         14512Inode blocks per group:   907Flex block group size:    16Filesystem created:       Thu Oct 15 15:27:56 2015Last mount time:          Thu Oct 15 15:33:50 2015Last write time:          Thu Oct 15 15:33:50 2015Mount count:              1Maximum mount count:      33Last checked:             Thu Oct 15 15:27:56 2015Check interval:           15552000 (6 months)Next check after:         Tue Apr 12 15:27:56 2016Lifetime writes:          202 MBReserved blocks uid:      0 (user root)Reserved blocks gid:      0 (group root)First inode:              11Inode size:               256Required extra isize:     28Desired extra isize:      28Journal inode:            8Default directory hash:   half_md4Directory Hash Seed:      56a5949a-5a49-4bc9-810d-9a9e2aa2109bJournal backup:           inode blocks