필자 : 양유성(yooseong@debian.org)
|
지난 번에는 저널링 파일 시스템과 요즘 많이 사용하고 있는 라이저 파일 시스템에 대한 이론적인 내용과 함께 준비작업을 해보았습니다. 이번에는 이러한 기초적인 지식과 사전준비 작업하에서 기존에 사용하고 있던 ext2 파일 시스템을 라이저 파일 시스템으로 변경하는 작업을 소개하겠습니다. 그런데 여기서 기존의 ext2 시스템을 라이저
파일 시스템으로 바꾸는 과정에서 완전하게 백업을 해두지 않으면
시스템이 비정상적으로 작동하거나 새로 시스템을 설치해야 하는
심각한(?)사태가 벌어지게 될지 모르니 주의해서 해주길 바라겠습니다.
그리고 시스템에 직접적으로 영향을 미치지 않은
/home 디렉토리의 경우는 다른 여분의 공간이 있다면 그곳으로 옮기고
라이저 파일 시스템으로 포맷 후 다시 원상태로 만들면 되지만 나머지
시스템에 영향을 주는 /, /var, /usr등의 디렉토리의 내용을 변경할
때는 되도록이면 single 모드로 부팅하여 작업을 해주는 것이 좋습니다.
1. 시작하기 우선 작업을 하기 전에 시스템의 내용을 백업해둘 공간을 마련해 두어야 합니다. 그냥 그 안에서 어떻게 해결해도 되겠지만 여분의 공간을 마련해두고 작업을 하는 것이 훨씬 좋을 것입니다. (1) 자신의 파티션 확인하기와 /home 파티션 라이저 파일 시스템으로 포맷하기 필자의 경우 / 와 /usr, /var, /home, /opt 로 파티션을 나누었다. /opt 가 여기서 백업을 해둘 미리 잡아둔 공간이면 나중에 필요하면 여기를 다른 여러가지 유용한 용도로 사용할 수 있을 것입니다. root@swirl:#df -h 필자의 파티션인데 앞서도 이야기했듯이 /opt
에 다른 파티션의 부분을 계속 백업을 해가며 하나씩 reiserfs 로
바꾸고 원상복귀하는 작업을 하도록 하겠습니다. #cp -a /home/* /opt 를 실행한 후에 조금 시간이 걸리고 나면 모든 /home 의 내용이 /opt 아래에 복사가 됩니다. tar를 사용하는 경우는 #tar cvpf - /home | (cd /opt ; tar xf -) 이 과정이 끝나고 나서는 /dev/hda7(home 파티션)을 라이저 파일 시스템으로 포맷합니다. 지난 호에서 소개했던 reiserfsprog 프로그램의 컴파일이 제대로 되어 실행이 잘 된다는 가정하에서 하겠습니다. #umount /dev/hda7 우선 /dev/hda7을 언마운트 합니다. 그리고 나서 /dev/hda7을 라이저 파일 시스템으로 포맷합니다. #mkreisefs /dev/hda7 <----------------mkreiserfs, 2000----------------> 라는 질문은 모든 것을 포맷하겠다는 의미이다. 물론 데이터를 모두 백업해둔 상황이라고 가정합니다. y를 입력하면 Initializing journal - 0%...20%...40%...60%...80%...100% ReiserFS core development sponsored by SuSE Journaling sponsored by MP3.com. To learn about the programmers and ReiserFS,
please go to Have fun. 그리고 나서 앞서도 언급했지만 /etc/fstab 부분에서 /dev/hda7 의 ext2 부분을 reiserfs 로 바꾸고 저장하고 나온 후에 #mount /dev/hda7 /dev/hda7을 다시 마운트 하고 #cp -a /opt/* /home 원래 /home에 있던 모든 내용을 원래 파티션으로 변경하면 /home 파티션은 라이저 파일 시스템 위에서 작동하게 되는 것입니다. 만약 여기서 실패하면, reiserfsprogs 와 커널소스의 reiserfs 코드가 서로 호환되지 않는 경우일 것입니다. 지원되지 않는 파일시스템이라는 메시지가 나오면 커널 컴파일을 잘 못한 것입니다. 다시 알맞은 버젼으로 컴파일을 다시 해야 합니다. 그 다음은 /opt 디렉을 다시 라이저 파일 시스템으로 바꾸는 것인데 물론 home 파티션을 바꾸는 것과 같은 방법으로 하는데 원래 이곳은 백업할 필요가 있는 파일이 없기 때문에 그냥 #umount /dev/hda8 언마운트를 하고 포맷을 하면 됩니다. #mkreiserfs /dev/hda8 여기서 y를 선택하고 /etc/fstab 의 /dev/hda8 의 ext2를 reiserfs 로 바꾸고, 다시 #mount /dev/hda8 을 실행하면 reiserfs 로 /opt 파티션이 마운트된 것입니다.
2. /usr 파티션과 /var 파티션을 라이저 파일 시스템을 변경하기 다음으로 할 부분은 /usr와 /var인데 이 부분부터는
좀 신경을 써야 하는 부분입니다. #cp -a /usr/* /opt/usr 여기서도 tar 명령을 사용하여 백업할 수 있습니다. (1) /usr 파티션 라이저 파일 시스템으로 변경하기 그리고 나서 /etc/fstab을 수정하여 usr부분을 opt로 opt를 usr로 변경하고 나서 재부팅을 합니다. ---------------------------------------------------- /dev/hda8 /opt ext2
defaults 0 1 그리고 앞서도 이야기했지만 시스템에서 중요한
부분을 다루게 되는 경우이므로 되도록이면 Linux single 로 부팅해서
들어가는 것이 좋습니다. #umount /dev/hda5 y를 선택하여 라이저 파일 시스템으로 포맷을
합니다. 동일한 방법이기 때문에 굳이 여기서 따로 설명은 하지
않겠습니다. 변경전 그리고 나서 다시 /dev/hda5 를 마운트한다 #mount /dev/hda5 여기까지 정상적으로 되었다면 fstab의 opt와 usr를 다시 원상태로 /dev/hda5 /usr reiserfs
defaults 0 1 으로 바꾸어두고 다시 재부팅합니다. 물론 작업이 남아 있기 때문에 Linux single 모드로 부팅합니다. /var 파티션 또한 싱글로 부팅하여 위의 usr
파티션과 같은 방법을 취하여 포맷하고 다시 마운트하면 됩니다.
같은 방법이므로 또 설명하지 않겠습니다. 이와 같은 방법을 통해서 라이저 파일 시스템으로
바꾸고 난 후의 /etc/fstab 내용을 보면 아래와 같습니다.
3. root 파티션을 라이저 파일 시스템으로 변경하기 마지막으로 이 부분에서 잘못되어 시스템을 다시 설치하는 경우가 생기는데 루트 파티션이 크지 않은 경우는 굳이 라이저 파일 시스템으로 바꿀 필요가 없지만, 그리 어려운 작업은 아니므로 도전해보는 것도 좋을 것입니다. 우선 /opt로 /의 내용을 복사하여 사용하게 위하여 다음과 같은 명령을 수행한다. #cp -a /* /opt 를 실행하면 /opt 파티션이 루트 파티션으로 인식하게 됩니다. 그리고 /opt/etc/lilo.conf 의 파일을 수정하여 boot=/dev/hda 를 boot=/dev/hda8 로 root=/dev/hda3을 root=/dev/hda8 로 바꿉니다. 그리고 /opt/etc/fstab/ 파일의 내용 중에서 /dev/hda3 / ext2 defaults,errors=remount-ro
0 1 /dev/hda8 /opt reiserfs defaults
0 1 이 상황에서 #lilo 를 실행하여 부트레코드를 /dev/hda8 파티션의 0번 레코드에 기록합니다. 그리고 나서 exit 하여 원래의 ext2 파티션인 /로 들어온 후에 /etc/lilo.conf 에 다음을 추가합니다. (기존의 처음에 있었던 lilo.conf 는 다른 이름으로 백업을 해두는 것이 좋습니다.) other=/dev/hda8 저장하고 나와서 #lilo 를 실행하여 정상으로 되었는지 확인한 후에 재부팅을 하여 lilo 메뉴에서 reiser를 선택하여 들어가면 다시 lilo 메뉴가 나오고 거기서 엔터를 쳐서 리눅스로 부팅되면 라이저 파일 시스템으로 부팅된 것입니다. 즉 /opt 부분을 인식하게 된 것입니다. 물론 이 상황도 싱글모드 부팅하여야 합니다. #umount /opt 를 하여 마운트를 해지하고 #mkreiserfs /dev/hda3 에서 y를 선택하여 포맷을 합니다. 그리고 나서
항상 해왔던 대로 /etc/fstab 의 내용을 변경합니다. 다시 /opt 파티션을 마운트하고 #mount /opt 원래의 내용으로 복구합니다. #cp -a /opt/* / 그리고 나서 원래의 lilo.conf 를 원상복귀 시키고, #lilo 를 실행시키고 재부팅을 하면 됩니다. 이렇게 재부팅하여 커널이 잘 올라오면 여러분은 성공한 것이 될 것입니다. 하지만 리눅스를 자주 만지지 않거나 한 분들은 그냥 / 는 그대로 ext2 로 놓아 두는 것이 안전할 것입니다. 혹시라도 이 부분에 대해서 좀더 안전한 방법으로 하고 싶으신 분들은 http://debianusers.org의 설치팁 란에 reiserfs 에 관한 박병준님의 글을 참고 하시면 됩니다. 자 이제 자신이 사용하는 모든 파티션이 라이저 파일 시스템으로 바뀌었습니다. 실제로 필자의 경우는 정말 정상 작동하는지 시스템의 전원을 그냥 내려버린 경우가 있었는데 아주 잘 작동하였습니다. 마지막으로 당부하고 싶은 말은 되도록이면 커널 2.4.2이상의 버젼을 사용하고 reiserfsprogs 프로그램도 최신버젼을 이용하는 것을 권장합니다.
4. 마치며 2회에 걸쳐 간단한 저널링 파일 시스템과 기존의 리눅스 파일 시스템인 ext2를 모두 라이저 파일 시스템으로 바꾸어 보는 과정을 살펴보았습니다. 앞서도 이야기하였지만 비정상적인 재 부팅이 이루어진 경우 이 파일 시스템은 ext2 보다 속도나 성능면에서 탁월한 기능을 발휘할 것입니다. 필자의 경우는 노트북의 안정성을 위하여 바꾸었지만 정말 중요한 작업을 하는 경우나 대용량 시스템을 사용하는 경우에는 이러한 저널링 파일 시스템을 사용하는 것이 좋습니다. 그럼 이제부터 좀더 나은 환경에서 리눅스를 사용해 보십시오. |