잠시만 기다려 주세요

     '대한민국이 더이상 발전하지 못하는 것은 부패한 언론들의 쓰레기짓 때문이다.'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (16)  |  여러가지 팁 (1059)  |  추천 및 재미 (156)  |  자료실 (22)  |  
시사, 이슈, 칼럼, 평론, 비평 (613)  |  끄적거림 (136)  |  문예 창작 (716)  |  바람 따라 (75)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    리눅스 데스크탑

리눅스 데스크탑 - Linux 배드섹터, 배드블럭 검사 및 치료
이 름 : 바다아이   |   조회수 : 10142         짧은 주소 : https://www.bada-ie.com/su/?281591827645
얼마전 내 우분투 13.04 서버에 배드블럭이 10000개 이상 생겨버렸다.

하드가 완전히 망가졌나 싶어서 하드를 교체하려 하였으나 의문이 생겼다.

의문점은 다음과 같았다.

1. 보통의 하드는 물리적 배드섹터가 1,2개 생기면서 하드의 전체적인 안정성이 저하되고
    서서히 하드의 물리적 배드섹터가 증가하면서 끝엔 완전히 사용이 불가하게 된다.

2. 혹시나 얼마전 IDE 모드로 설치한 하드디스크를 AHCI 모드로 변경하여 내가 모르는
    어떠한 논리적 오류가 배드블럭을 생기게 하지 않았냐는 생각이 들었다.

3. 위와 같은 의문점으로 검사를 한 결과 내 하드디스크의 경우는 fstab 설정에 따라  하드디    스크 블럭이 Read-only 로 변경되면서 Write 가 불가능해 졌을뿐 배드블럭이 늘거나 줄지    않았고 전체적인 하드디스크 검사 및 제로필(Zero-fill) 작업 후 배드블럭이 완전히 사라지    고 이후 배드블럭이 늘지 않았다.



하드디스크의 배드섹터가 논리적인지 물리적인지 구분하는 방법은 현실적으로 불가능하다.

논리적 배드섹터의 경우 Zero-fill (하드디스크 모든 영역의 자기값을 0 으로 채움) 작업을
통해서 증상을 없앨 수 있다.



작업 방법은 다음과 같다.

1. 우선 리눅스 시스템의 Live CD 를 준비한다. (GUI 우분투 추천)
    되도록이면 사용이 간편한 우분투를 추천하고 USB 또는 USB 하드를 사용해야 한다.
    그렇지 않으면 Live CD로 부팅한 상태에서 추가적인 프로그램을 설치하여 사용하지
    못하고 비교적 사용이 불편한 것을 써야하기 때문이다.

2. Live CD 를 리눅스 머신에 넣고 부팅한다.

3. Live CD 를 부팅하면 터미널을 실행한다.

4. 터미널에 다음 명령어를 입력하여 현재 리눅스 머신에 연결된 모든 저장장치를 표시한다.

    sudo fdisk -l (소문자 'L' 이다)

5. fdisk 를 통해 하드디스크의 정보가 다음과 같이 출력될 것이다.

Disk /dev/sda: 200.0 GB, 200049647616 bytes 
255 heads, 63 sectors/track, 24321 cylinders, total 390721968 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005b77d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   369948671   184973312   83  Linux
/dev/sda2       369950718   390721535    10385409    5  Extended
/dev/sda5       369950720   390721535    10385408   82  Linux swap / Solaris

노란색으로 배경색이 되어 있는게 디스크 자체의 정보이고
초록색으로 배경색이 되어 있는게 해당 디스크의 파티션이 어떻게 나뉘는가를
표시해준다.

여기서 주목해야 하는 것은
첫째줄에 있는 /dev/sdx (sdb,sdc 가 될 수도 있으므로) 이다.

하드디스크가 여러개라면 /dev/sda, /dev/sdb 등으로 여러개가 출력되므로

현재 문제가 있는 하드만 골라서 치료하려면 하드디스크가 어디에 Mount 되는지
알아야 한다.

문제가 생겼다면 어떤 하드에 문제가 있는지 터미널 또는 로그로 자세히 표시되므로
따로 적지는 않겠다.

6. 배드블럭 검사, 배드블럭 검사는 시간이 매우매우!! 오래 걸리는 작업이므로 시작하고
    밥먹고 볼일보고 게임해도 완료되지 않을 수도 있다. 끈기있게 기다리자.

    배드블럭을 검사하는 명령어는 다음과 같다.

    sudo badblocks -v /dev/sdx (/dev/sda, /dev/sdb, ... /dev/sdx)

7. 배드블럭을 검사를 기다리는 고달픈 시간이 지나면 배드블럭이 몇개나 발생했는지
    터미널로 출력될 것이다.

    이제 치료를 하도록 하자.

8. 내가 처음 서두에서 Live CD를 USB에다가 설치하라고 한 이유는 일부 e2fsck 와
   dcfldd 를 사용하려면 apt-get 을 이용하여 설치해야 하는데 CD의 경우 한 번 구워버리면
   안에 데이터를 변경할 수가 없기 때문에 두 가지 프로그램을 사용할 수 없기 때문이었다.

   이제 다음 명령어를 입력하여 e2fsck 와 dcfldd 를 설치하도록 하자.

   sudo apt-get install e2fsck dcfldd

   Q. e2fsck 는 이미 설치되어 있다고 하고 dcfldd는 찾을 수 없다고 뜨는데??

   A. e2fsck 는 대부분의 리눅스 배포판에 기본적으로 들어가 있어서 그런것이고 dcfldd는
       소프트웨어 업데이트 관리자에서 universe repository 를 사용 설정해줘야지 사용할 수        있다.

9. 두 가지를 설치했다면 이제 선택을 할 시간이다.

    1). 논리적 배드블럭으로 보이는 것이 노무노무 많이 생겨버렸다!

     - 하드에 있는 모든 필요한 정보를 다른 하드에 저장하고 dcfldd 를 이용하여
        Zero-fill 포맷을 해버리자

        사용방법 : sudo dcfldd if=/dev/zero of=/dev/sdx 
                               
                        여기서 of=/dev/sdx 는 'sdx'를 자신이 Zero-fill 포맷을 할 하드의 마운트 경로로 맞추어주면 된다.
 
    2). 논리적 배드블럭이 몇개 없네

     - e2fsck 를 이용하여 치료를 하면 된다.

        사용방법 : e2fsck -cfpv /dev/sdx 

                       여기서 /dev/sdx 는 자신이 고치고 싶은 하드의 마운트 경로로 맞추어주면 된다.


출처 : http://pinetreekr.blogspot.kr/2013/08/linux-server.html
 
| |





      1 page / 8 page
번 호 카테고리 제 목 이름 조회수
230 리눅스 데스크탑 .... pacman -Suy ... 바다아이 92
229 리눅스 데스크탑 archlinux... Libalpm.so.14 error after updating to pacman 7 바다아이 106
228 리눅스 데스크탑 ... 바다아이 591
227 리눅스 데스크탑 .... 바다아이 573
226 리눅스 데스크탑 libreoffice hwp , ... 바다아이 586
225 리눅스 데스크탑 uefi .... . 바다아이 1120
224 리눅스 데스크탑 mkfs ... .. 바다아이 1059
223 리눅스 데스크탑 ... hd 4600.. Ubuntu Intel graphics driver install, 바다아이 2802
222 리눅스 데스크탑 virtualbox ... ntfs.sys ... virtualbox .. 바다아이 2990
221 리눅스 데스크탑 , 10 ... archlinux, window10 dual-boot 바다아이 2938
220 리눅스 데스크탑 , .... ... 바다아이 3841
219 리눅스 데스크탑 Installation from WineHQ's repo, debian wine ... 바다아이 4306
218 리눅스 데스크탑 xfce4 debian .... uim fcitx 바다아이 4751
217 리눅스 데스크탑 archlinux , .... 바다아이 3849
216 리눅스 데스크탑 firefox .... ... 바다아이 3829
215 리눅스 데스크탑 zip , unzip 바다아이 3482
214 리눅스 데스크탑 automouse autoclick xdotool 바다아이 4442
213 리눅스 데스크탑 xfce4 pacman .. 바다아이 3895
212 리눅스 데스크탑 debian intel-microcode [Firmware Bug]: TSC_DEADLINE disabled due to Errata - what should I do about this? 바다아이 4389
211 리눅스 데스크탑 debian xfce usb . pc 바다아이 4197
210 리눅스 데스크탑 .xprofile ... .xsessionrc ... 바다아이 3944
209 리눅스 데스크탑 debian 12 nvidia 바다아이 5641
208 리눅스 데스크탑 ..... 바다아이 3733
207 리눅스 데스크탑 xfce fcitx ... 바다아이 3882
206 리눅스 데스크탑 20.04 5 .... 바다아이 4293
205 리눅스 데스크탑 , , , , alias 바다아이 5404
204 리눅스 데스크탑 manjaro archlinux pacman PGP ..... 바다아이 4573
203 리눅스 데스크탑 yaourt yay aur.... 바다아이 4476
202 리눅스 데스크탑 mirror ... . 바다아이 6473
201 리눅스 데스크탑 20.04 leafpad , euc-kr utf-8 . 바다아이 6453
| |









Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천  실행시간 : 0.05737
to webmaster... gogo sea. gogo sea.