Work/LINUX+SERVER

리눅스 16TB 이상 마운트 하기

====== 리눅스 시스템에 16TB 이상 마운트 하기 ======

참조 : http://blog.naver.com/PostView.nhn?blogId=kimutae&logNo=140133092972
참조 : http://onlybible.tistory.com/7399
참조 : http://blog.ronnyegner-consulting.de/2011/08/18/ext4-and-the-16-tb-limit-now-solved/
참조 : http://archimedeseureka.blogspot.kr/2012/08/large-disks-in-centos.html
참조 : http://byjoo.tistory.com/10

환경
Cent OS 6.3 64bit
poweredge r710
md1200 2TB * 24EA Raid 6

작업내용
1. dell h/w raid를 통해 md1200 (hba1) 을 raid6로 구성
2. os 부팅 후 fdisk -l 을 통해 확인
3. /backup 에 mount 시도 -> 실패
4. gpt 파티션 설정을 위해 parted 명령어 사용
<code>
# parted /dev/sdc // md1200
(parted) p
.....info.....
(parted) mklabel
New disk label type? gpt                                                 
Warning: The existing disk label on /dev/sdc will be destroyed and all data on this disk
will be lost. Do you want to continue?
Yes/No? yes
// 기존 정보가 남아있었음. 초기화
(parted) p
Model: DELL PERC H800 (scsi)
Disk /dev/sdc: 20.0TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

(parted) mkpart                                                          
Partition name?  []? backup                                              
File system type?  [ext2]?                                               
Start? 0                                                                 
End? 100%                                                                
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? ignore
(parted) p                                                               
Model: DELL PERC H800 (scsi)
Disk /dev/sdc: 20.0TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name    Flags
 1      17.4kB  20.0TB  20.0TB  xfs          backup

(parted) q
</code>

5. 이후 마운트를 위해 mkfs 를 통해 파일시스템 포맷 시도
<code>
# mkfs.ext3 /dev/sdc1
mkfs.ext3: Size of device /dev/sdc1 too big to be expressed in 32 bits
    using a blocksize of 4096.

# mkfs.ext4 /dev/sdc1
mkfs.ext4: Size of device /dev/sdc1 too big to be expressed in 32 bits
    using a blocksize of 4096.
</code>

6. 에러. 구글링을 통해 ext4 파일 시스템도 64bit에서 최대 16TB까지만 지원 / 16TB 까지 지원하도록 설정을 변경하려면
<code>
# vi /etc/mke2fs.conf

[fs_types]
        ext3 = {
                features = has_journal
        }
        ext4 = {
                features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
                inode_size = 256
                auto_64-bit_support = 1 // <-- 추가 할 것
        }
</code>

7. 16TB 이상은 xfs 파일 시스템 사용 xfs 로 포맷하려면 mkfs.xfs 사용
<code>
# mkfs.xfs /dev/sdc1
-bash: mkfs.xfs: command not found
</code>

8. 구글링
<code>
XFS 포멧 및 마운트
1-1 CentOS 4일 경우
yum -y --enablerepo=centosplus install kernel-smp
yum -y --enablerepo=centosplus install kmod-xfs-smp
yum -y --enablerepo=centosplus install xfsprogs
1-2 CentOS 5일 경우
yum --enablerepo=extras install kmod-xfs
yum -y --enablerepo=extras install xfsprogs
[출처] XFS 포멧 및 마운트 방법|작성자 Dorian
추가
1-3 CentOs 6일 경우
yum -y --enablerepo=extras install xfsprogs
</code>

9. xfs 포맷
<code>
# mkfs.xfs /dev/sdc1
mkfs.xfs: /dev/sdc1 appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.
# mkfs -t xfs -f /dev/sdc1
meta-data=/dev/sdc1              isize=256    agcount=19, agsize=268435455 blks
         =                       sectsz=512   attr=2, projid32bit=0
data     =                       bsize=4096   blocks=4882431991, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=521728, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
# // <- 커맨드가 나오면 완료
</code>

10. 마운트
<code>
# mount -t xfs /dev/sdc1 /backup
#
# df -h
/dev/sdc1              19T   33M   19T   1% /backup
</code>

11. /etc/fstab 수정
<code>
# vi /etc/fstab

/dev/sdc1 /backup xfs default 0 0 추가
</code>

반응형