리눅스 운영체제에서 디스크의 배드 블록을 마크하는 방법
1. 배드 블록 확인
배드 블록을 확인하기 위해 badblocks 명령어를 사용합니다. 아래 명령어는 /dev/sda 디스크의 배드 블록을 확인합니다.
sudo badblocks -v /dev/sda
2. 배드 블록 마크
배드 블록을 마크하기 위해 e2fsck 명령어를 사용합니다. 이 명령어는 ext2, ext3, ext4 파일 시스템에서 사용할 수 있습니다. 아래 명령어는 /dev/sda1 파티션에 배드 블록을 마크합니다.
sudo e2fsck -l badblocks.txt /dev/sda1
badblocks.txt는 badblocks 명령어로 생성된 배드 블록 목록 파일입니다. e2fsck 명령어는 해당 파일을 참조하여 배드 블록을 마킹합니다.
3. 배드 블록에 대한 대응
배드 블록이 발견되었다면 해당 블록이 있는 디스크의 성능이 저하될 수 있으므로, 필요에 따라 디스크를 교체하는 것이 좋습니다. 배드 블록이 있는 디스크에서 중요한 데이터가 있는 경우, 백업을 수행하고 디스크를 교체하는 것이 안전합니다.
배드 블록을 마크하면 해당 블록은 더 이상 사용되지 않고 파일 시스템은 해당 블록을 무시합니다. 배드 블록이 있는 디스크는 성능 저하가 발생할 수 있으므로 주의가 필요합니다.
e2fsck 명령어의 옵션에는 badblocks을 실행하여 배드블록을 찾은 후 디스크의 배드블록 아이노드에 추가하여 마크함으로써 마크된 배드블록을 사용하지 못하도록 하는 방법이다.
- 마운트 해제
umount /home
- e2fsck -cv /dev/sda6 명령어는 /dev/sda6 파티션에 있는 ext2, ext3, ext4 파일 시스템을 체크하고 복구하는 역할을 합니다.
e2fsck -cv /dev/sda6
아래는 명령어의 각 옵션의 역할을 설명합니다.
- -c 옵션은 배드 블록 검사를 수행합니다. 디스크의 모든 블록을 검사하여 배드 블록을 식별합니다.
- -v 옵션은 자세한(verbose) 출력을 제공합니다. 파일 시스템 체크 및 복구 작업에 대한 자세한 정보를 표시합니다.
$ e2fsck -cv /dev/sda6
e2fsck 1.35 (28-Feb-2004)
Checking for bad blocks (read-only test): done
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
/home: ***** FILE SYSTEM WAS MODIFIED *****
11 inodes used (0%)
1 non-contiguous inode (9.1%)
# of inodes with ind/dind/tind blocks: 0/0/0
14935 blocks used (3%)
0 bad blocks
1 large file
0 regular files
2 directories
0 character device files
0 block device files
0 fifos
0 links
0 symbolic links (0 fast symbolic links)
0 sockets
--------
2 files
위의 명령어를 실행하면 e2fsck가 /dev/sda6 파일 시스템을 체크하고 배드 블록을 검사합니다. 검사가 진행되는 동안 자세한 정보가 출력되며, 필요한 경우 파일 시스템을 복구합니다.
주의: e2fsck 명령어를 실행하기 전에 해당 파티션을 마운트 해제하고, 가능하면 백업을 수행하는 것이 좋습니다. 또한, 배드 블록이 있는 디스크는 데이터 손실 및 시스템 손상의 원인이 될 수 있으므로 주의해야 합니다. 신중하게 진행하시기 바랍니다.
'리눅스' 카테고리의 다른 글
커널 컴파일 및 설치하는 방법 (0) | 2021.10.16 |
---|---|
sendmail Relaying denied. IP name lookup failed 오류 (0) | 2021.10.16 |
[리눅스] Squirrelmail Install (0) | 2021.10.16 |
CentOS 7 RabbitMQ 설치 방법 (0) | 2021.10.16 |
Let's Encrypt에서 DNS 모드로 SSL 인증서를 발급받는 방법 (0) | 2021.09.16 |