최신 버젼의 zfs를 쓰면서 우연히 알게 된 것은 화일 시스템의 오류가 왕왕 생긴 다는 점입니다.
아마도, 랩탑이기 때문에 파워가 없어서 그냥 꺼졌거나 하면서 생긴 것으로 보이는데.. 생각보다
이런 오류가 생각보더 훨씬 자주 나타난다는 게 약간 맘에 걸립니다. 이게 정상인지..
간혹 fmstat나 zpool을 보면 아래와 같이 오류가 발생하는 경우가 있습니다.
$ pfexec zpool status -xv
pool: rpool
state: ONLINE
status: One or more devices has experienced an error resulting in data
corruption. Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
entire pool from backup.
see: http://www.sun.com/msg/ZFS-8000-8A
scrub: scrub completed after 4h46m with 6 errors on Wed Jul 15 20:19:19 2009
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 7
c5d0s0 ONLINE 0 0 55 291K repaired
errors: Permanent errors have been detected in the following files:
rpool/export/home/bhkim:<0x2d071>
rpool/ROOT/opensolaris-2@install:/usr/lib/amd64/libcspi.so.0.10.11
rpool/ROOT/opensolaris-2@install:/usr/bin/w3m
rpool/ROOT/opensolaris-2@install:/usr/bin/what
rpool/ROOT/opensolaris-2@install:/usr/bin/wracct
rpool/ROOT/opensolaris-2@install:/usr/bin/wtpt
오류라고 나온 화일을 실행시도 해봤더니, 정말 I/O 에러라고 나옵니다. ㅡㅡ;
bhkim@vaio-bhkim:~/MyVideos$ wracct
bash: /usr/bin/wracct: I/O error
패키지 수정을 시도해야 겠습니다. 일단 해당 화일이 어떤 패키지에 속하는 지 알아야 하는데 다음과 같이해서 알아낼 수 있습니다.
#pkg search /usr/bin/wracct
SUNWcs라는 것을 얘기해주는데, 결과가 길어서 여기서는 생략합니다.
일단, 오류로 나온 다른 화일의 패키지로 검사를 해봤습니다.
#pkg fix SUNWgnome-a11y-libs
#
엥... 아무런 무언가가 없습니다. 오류가 없이 verify 했다는 얘기입니다.
여기서 오픈 솔라리스 에서 2% 안타까운 것은 zfs에서 해당 화일이 오류가 있다고 나왔다면
pkg 에서도 오류임을 자동으로 감지해서 fix할때 fix해주었으면 하는데, pkg는 화일의 목록만 검사하는 듯 하군요.
오류 없다고 지나가는 것을 보니까 말이죠.
그렇다면, 해당 화일을 삭제하고 fix를 시도하면 감지할 것으로 예상하고 이번에는 실제 작업 대상 패키지에서 작업해봤습니다.
$ pfexec bash
# rm /usr/bin/wracct
일단 삭제했습니다.
# pkg fix SUNWcs
Verifying: pkg:/SUNWcs ERROR <--- 오.. 역시 에러가 나오네요.
file: usr/bin/cat
Warning: package may contain bobcat! (http://xkcd.com/325/) ;; 근데 뭔 에러가... 이리 많지 ㅡㅡ;
file: var/spool/cron/crontabs/root ..... --
Group: 'root' should be 'sys'
file: etc/nsswitch.conf ..... ||
Group: 'root' should be 'sys'
file: usr/bin/wracct ..... // ;; 아하.. 화일이 없음을 감지했습니다.
File does not exist
hardlink: etc/rc2.d/S82mkdtab ..... //
No such path etc/rc2.d/S82mkdtab
Created ZFS snapshot: 2009-07-16-00:42:02 ..... // ;; 스냅샷을 찍어주고 수리들어가네요.
Repairing: pkg:/SUNWcs
PHASE ITEMS
Indexing Packages 481/670
아마도, 랩탑이기 때문에 파워가 없어서 그냥 꺼졌거나 하면서 생긴 것으로 보이는데.. 생각보다
이런 오류가 생각보더 훨씬 자주 나타난다는 게 약간 맘에 걸립니다. 이게 정상인지..
간혹 fmstat나 zpool을 보면 아래와 같이 오류가 발생하는 경우가 있습니다.
$ pfexec zpool status -xv
pool: rpool
state: ONLINE
status: One or more devices has experienced an error resulting in data
corruption. Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
entire pool from backup.
see: http://www.sun.com/msg/ZFS-8000-8A
scrub: scrub completed after 4h46m with 6 errors on Wed Jul 15 20:19:19 2009
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 7
c5d0s0 ONLINE 0 0 55 291K repaired
errors: Permanent errors have been detected in the following files:
rpool/export/home/bhkim:<0x2d071>
rpool/ROOT/opensolaris-2@install:/usr/lib/amd64/libcspi.so.0.10.11
rpool/ROOT/opensolaris-2@install:/usr/bin/w3m
rpool/ROOT/opensolaris-2@install:/usr/bin/what
rpool/ROOT/opensolaris-2@install:/usr/bin/wracct
rpool/ROOT/opensolaris-2@install:/usr/bin/wtpt
오류라고 나온 화일을 실행시도 해봤더니, 정말 I/O 에러라고 나옵니다. ㅡㅡ;
bhkim@vaio-bhkim:~/MyVideos$ wracct
bash: /usr/bin/wracct: I/O error
패키지 수정을 시도해야 겠습니다. 일단 해당 화일이 어떤 패키지에 속하는 지 알아야 하는데 다음과 같이해서 알아낼 수 있습니다.
#pkg search /usr/bin/wracct
SUNWcs라는 것을 얘기해주는데, 결과가 길어서 여기서는 생략합니다.
일단, 오류로 나온 다른 화일의 패키지로 검사를 해봤습니다.
#pkg fix SUNWgnome-a11y-libs
#
엥... 아무런 무언가가 없습니다. 오류가 없이 verify 했다는 얘기입니다.
여기서 오픈 솔라리스 에서 2% 안타까운 것은 zfs에서 해당 화일이 오류가 있다고 나왔다면
pkg 에서도 오류임을 자동으로 감지해서 fix할때 fix해주었으면 하는데, pkg는 화일의 목록만 검사하는 듯 하군요.
오류 없다고 지나가는 것을 보니까 말이죠.
그렇다면, 해당 화일을 삭제하고 fix를 시도하면 감지할 것으로 예상하고 이번에는 실제 작업 대상 패키지에서 작업해봤습니다.
$ pfexec bash
# rm /usr/bin/wracct
일단 삭제했습니다.
# pkg fix SUNWcs
Verifying: pkg:/SUNWcs ERROR <--- 오.. 역시 에러가 나오네요.
file: usr/bin/cat
Warning: package may contain bobcat! (http://xkcd.com/325/) ;; 근데 뭔 에러가... 이리 많지 ㅡㅡ;
file: var/spool/cron/crontabs/root ..... --
Group: 'root' should be 'sys'
file: etc/nsswitch.conf ..... ||
Group: 'root' should be 'sys'
file: usr/bin/wracct ..... // ;; 아하.. 화일이 없음을 감지했습니다.
File does not exist
hardlink: etc/rc2.d/S82mkdtab ..... //
No such path etc/rc2.d/S82mkdtab
Created ZFS snapshot: 2009-07-16-00:42:02 ..... // ;; 스냅샷을 찍어주고 수리들어가네요.
Repairing: pkg:/SUNWcs
PHASE ITEMS
Indexing Packages 481/670
댓글 없음:
댓글 쓰기