ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리눅스 물리 파티션 e2fsck를 이용해 용량 증설
    IT/리눅스 2021. 5. 10. 10:52

    *e2fsck로 특정 파일시스템 점검시 오류 자동수정

     

    e2fsck 옵션

     

    -p

    자동으로 복구 (질문없이)

    -n

    파일 시스템 변경

    -y

    모든 질문에 Yes라고 대답

    -c

    Bad Block을 검사

    -f

    파일 시스템에 문제가 없어도 강제로 검사

    -v

    작업 내용을 상세히 출력

    -j [유형]

    ext2, ext3, ext4 기타 등 설정하여 체크

     

    주의사항

     

    - e2fsck은 기본 ext2 대상으로 체크

    - 해당장치가마운트가되어있는경우오류가발생할수있음

     

    특정 파일 시스템 강제 점검 및 복구*** 강제점검및 복구는 불가피한 상황이 아니면 사용하지 않습니다. ***

    1. on-line에서 진행불가... 데이터 보존 장담 불가...#umount /data2

     

    2. fdisk 명령으로 추가한 1테라 디스크를 확인합니다. # fdisk -lDisk /dev/sda: 1000.2 GB, 1000204886016 bytes255 heads, 63 sectors/track, 121601 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1      121340   974663518+  83  Linux/dev/sda2          121341      121601     2096482+  82  Linux swap / SolarisDisk /dev/sdb: 1000.2 GB, 1000204886016 bytes              <---------------------- 확인255 heads, 63 sectors/track, 121601 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes

     

    3. 추가한 /dev/sdb 하드를 fdisk로 실행합니다. # fdisk /dev/sdbThe number of cylinders for this disk is set to 121601.There is nothing wrong with that, but this is larger than 1024,and could in certain setups cause problems with:1) software that runs at boot time (e.g., old versions of LILO)2) booting and partitioning software from other OSs   (e.g., DOS FDISK, OS/2 FDISK)

     

    4. fdisk 모드에서 p 명령어로 파티션정보를 확인합니다. Command (m for help): pDisk /dev/sdb: 1000.2 GB, 1000204886016 bytes255 heads, 63 sectors/track, 121601 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes   Device Boot      Start         End      Blocks   Id  System

     

    6. 파티션을 생성하기 위해 n 명령어를 Command (m for help): nCommand action   e   extended   p   primary partition (1-4)

     

    7. 프라이머리 파티션 생성을 위해 파티션 넘버 1을 적어주고 엔터, 엔터 .. Partition number (1-4): 1First cylinder (1-121601, default 1):Using default value 1Last cylinder or +size or +sizeM or +sizeK (1-121601, default 121601):Using default value 121601

     

    8. 파티션이 잘 생성되었는지 확인합니다. Command (m for help): pDisk /dev/sdb: 1000.2 GB, 1000204886016 bytes255 heads, 63 sectors/track, 121601 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes   Device Boot      Start         End      Blocks   Id  System/dev/sdb1               1      121601   976760001   83  Linux       <------------------- 확인

     

    9. fdisk를 저장하고 나옵니다. Command (m for help): wThe partition table has been altered!

     

    Calling ioctl() to re-read partition table.Syncing disks.

     

    10. 디스크를 초기화시키면 안되요 바로 디스크 검사를 해줍니다.# e2fsck -f /dev/sdb1e2fsck 1.35 (28-Feb-2004)/dev/sdb1 is mounted.

     

    WARNING!!!  Running e2fsck on a mounted filesystem may causeSEVERE filesystem damage.

     

    Do you really want to continue (y/n)? yes

     

    Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary information/boot1: 34/26104 files (2.9% non-contiguous), 11778/104388 blocks

     

    11. 디스크 검사해주고 사이즈를 조정해줍니다.# resize2fs  /dev/sdb1resize2fs 1.39 (29-May-2006)Resizing the filesystem on /dev/sdb1 to 439122710 (4k) blocks.

     

     

    % 추가 옵션

     

    ext3(저널링)파일시스템의 점검 및 복구 "-j ext3" 옵션을 주면 됩니다.# e2fsck -j ext3 /dev/sdb1

     

    특정 파일시스템 강제 점검 및 상세 작업내용보기 # e2fsck -fv /dev/sdb1

     

     

     

    파일시스템 제약 및 데이터 손실 여부 문제로 논란이 있었던 내용인데 결론적으로 같은 디스크 영역내에 여유공간만 있다면 데이터 손실없이 리사이즈 가능합니다.

     

    (매우 크리티컬한 작업이므로 작업 전 백업은 필수입니다)

     

     

     

    %. 해당 내용은 "Linux native partition" 리사이즈에 대하여 언급하고 있습니다. 리눅스 LVM의 경우 당연히 리사이즈 가능합니다.

     

     

     

    * 레드헷 자료

     

     

    ■ How to Resize a Partition using fdisk

     

    https://access.redhat.com/articles/1190213

     

     

    ■ How to Grow an ext2/3/4 File System with resize2fs

     

    https://access.redhat.com/articles/1196353

     

     

    ■ How to Shrink an ext2/3/4 File system with resize2fs

     

    https://access.redhat.com/articles/1196333

     

     

     

    * vmwae를 이용한 테스트

     

     

    [root@RHEL5 /]# fdisk /dev/sdb

     

     

    Command (m for help): p

     

     

    Disk /dev/sdb: 2147 MB, 2147483648 bytes                          -> (/dev/sdb 전체 파티션 용량 2GB)

     

    255 heads, 63 sectors/track, 261 cylinders

     

    Units = cylinders of 16065 * 512 = 8225280 bytes

     

     

       Device Boot      Start         End      Blocks   Id  System

     

    /dev/sdb1               1         131     1052226   83  Linux     -> (/dev/sdb1 파티션 용량 1GB)

     

     

    Command (m for help): q

     

     

    [root@RHEL5 /]# mkfs.ext3 /dev/sdb1

     

    mke2fs 1.39 (29-May-2006)

     

    Filesystem label=

     

    OS type: Linux

     

    Block size=4096 (log=2)

     

    Fragment size=4096 (log=2)

     

    131616 inodes, 263056 blocks

     

    13152 blocks (5.00%) reserved for the super user

     

    First data block=0

     

    Maximum filesystem blocks=272629760

     

    9 block groups

     

    32768 blocks per group, 32768 fragments per group

     

    14624 inodes per group

     

    Superblock backups stored on blocks:

     

            32768, 98304, 163840, 229376

     

     

    Writing inode tables: done                           

     

    Creating journal (8192 blocks): done

     

    Writing superblocks and filesystem accounting information: done

     

     

    This filesystem will be automatically checked every 28 mounts or

     

    180 days, whichever comes first.  Use tune2fs -c or -i to override.

     

     

    [root@RHEL5 /]# mount /dev/sdb1 /a

     

    [root@RHEL5 /]# df -h

     

    Filesystem            Size  Used Avail Use% Mounted on

     

    /dev/sda2              18G  3.0G   14G  18% /

     

    /dev/sda1             289M   17M  258M   7% /boot

     

    tmpfs                 500M     0  500M   0% /dev/shm

     

    /dev/sdb1            1012M   34M  927M   4% /a

     

    [root@RHEL5 /]# cd /a

     

    [root@RHEL5 a]# touch test.txt

     

    [root@RHEL5 a]# vi test.txt

     

    hello

     

    [root@RHEL5 a]# cd /

     

    [root@RHEL5 /]# umount /a

     

     

     

    [root@RHEL5 /]# fdisk /dev/sdb

     

     

    Command (m for help): p

     

     

    Disk /dev/sdb: 2147 MB, 2147483648 bytes

     

    255 heads, 63 sectors/track, 261 cylinders

     

    Units = cylinders of 16065 * 512 = 8225280 bytes

     

     

       Device Boot      Start         End      Blocks   Id  System

     

    /dev/sdb1               1         131     1052226   83  Linux

     

     

    Command (m for help): d                                 

     

    Selected partition 1

     

     

    Command (m for help): n

     

    Command action

     

       e   extended

     

       p   primary partition (1-4)

     

    p

     

    Partition number (1-4): 1

     

    First cylinder (1-261, default 1):

     

    Using default value 1

     

    Last cylinder or +size or +sizeM or +sizeK (1-261, default 261):     -> (용량 증설 1GB-> 2GB)

     

    Using default value 261

     

     

    Command (m for help): w

     

    The partition table has been altered!

     

     

    Calling ioctl() to re-read partition table.

     

    Syncing disks.

     

     

    [root@RHEL5 /]# fdisk -l

     

     

    Disk /dev/sda: 21.4 GB, 21474836480 bytes

     

    255 heads, 63 sectors/track, 2610 cylinders

     

    Units = cylinders of 16065 * 512 = 8225280 bytes

     

     

       Device Boot      Start         End      Blocks   Id  System

     

    /dev/sda1   *           1          38      305203+  83  Linux

     

    /dev/sda2              39        2353    18595237+  83  Linux

     

    /dev/sda3            2354        2610     2064352+  82  Linux swap / Solaris

     

     

    Disk /dev/sdb: 2147 MB, 2147483648 bytes

     

    255 heads, 63 sectors/track, 261 cylinders

     

    Units = cylinders of 16065 * 512 = 8225280 bytes

     

     

       Device Boot      Start         End      Blocks   Id  System

     

    /dev/sdb1               1         261     2096451   83  Linux

     

     

    [root@RHEL5 /]# resize2fs /dev/sdb1

     

    resize2fs 1.39 (29-May-2006)

     

    Please run 'e2fsck -f /dev/sdb1' first.

     

     

    [root@RHEL5 /]# e2fsck -f /dev/sdb1

     

    e2fsck 1.39 (29-May-2006)

     

    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

     

    /dev/sdb1: 12/131616 files (8.3% non-contiguous), 12671/263056 blocks

     

     

    [root@RHEL5 /]# resize2fs /dev/sdb1

     

    resize2fs 1.39 (29-May-2006)

     

    Resizing the filesystem on /dev/sdb1 to 524112 (4k) blocks.

     

    The filesystem on /dev/sdb1 is now 524112 blocks long.

     

     

    [root@RHEL5 /]# mount /dev/sdb1 /a

     

    [root@RHEL5 /]# df -h

     

    Filesystem            Size  Used Avail Use% Mounted on

     

    /dev/sda2              18G  3.0G   14G  18% /

     

    /dev/sda1             289M   17M  258M   7% /boot

     

    tmpfs                 500M     0  500M   0% /dev/shm

     

    /dev/sdb1             2.0G   34M  1.9G   2% /a

     

    [root@RHEL5 /]# ls -al /a

     

    total 36

     

    drwxr-xr-x  3 root root  4096 Dec 16 16:44 .

     

    drwxr-xr-x 25 root root  4096 Dec 16 16:20 ..

     

    drwx------  2 root root 16384 Dec 16 16:44 lost+found

     

    -rw-r--r--  1 root root     6 Dec 16 16:44 test.txt                  -> (데이터 손실 없음)

     

    [root@RHEL5 /]# cat /a/test.txt                                     

     

    hello

     

    [root@RHEL5 /]# blkid

     

    /dev/sda3: TYPE="swap" LABEL="SWAP-sda3"

     

    /dev/sda2: LABEL="/" UUID="d9d4e8ba-9744-4369-a05c-52c705a814a3" TYPE="ext3" SEC_TYPE="ext2"

     

    /dev/sda1: LABEL="/boot" UUID="f9497f4e-0d2e-42ff-8ea7-bab1ffb551d8" SEC_TYPE="ext2" TYPE="ext3"

     

    /dev/sdb1: UUID="90bcf8ea-3a9c-4091-8de7-2373c10f3912" SEC_TYPE="ext2" TYPE="ext3"

     

     

     

    * Dell R710 서버를 이용한 테스트

     

     

    vmware 결과와 동일합니다.

    'IT > 리눅스' 카테고리의 다른 글

    CentOS에서 iSCSI Initiator 설치 및 관리  (0) 2024.09.25
    리눅스 rpm 상세 정보 확인  (0) 2021.06.01
Designed by Tistory.