삼바 서버를 사용하기로 결정한 이후에 걱정거리 하나가 생겼습니다. 로컬 드라이브 영역을 coLinux와 함께 사용하면 큰 문제가 없지만, fedora 이미지 4g짜리로는 왠지 불안하다는 것이죠. 4g 안에 페도라가 설치되어 있고 개발환경을 구축해야 하는데, 거기다가 앞으로 계속 늘어날 프로젝트 파일까지 감당하려면 아무래도 4g로는 부족하다는 생각이 듭니다.

이제 겨우 nfs, samba 서버를 설치했고, i386, arm, mips 용 gcc 컴파일러를 설치했는데 벌써 반 이상을 사용했습니다.

]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/cobd0            4.0G  2.0G  1.8G  53% /
tmpfs                 126M     0  126M   0% /dev/shm
]#

그래서 용량을 키워햐 하는데, 가장 먼저 제공되는 4g 짜리 이미지를 8g로 키우려 했습니다. 그런데 이게 잘 안 되네요. 어떻게 작업했냐하면,

  1. fsutil을 이용하여 8g 이미지를 만듦
  2. 새로 만든 8g 이미지를 conf 파일에 cobd2로 등록
  3. 리눅스를 부팅한 후에
  4. 8g 와 연결된 cobd2를 mkfs -t ext3 /dev/cobd2 를 실행하여 ext3로 포맷
  5. /dev/cobd2를 /mnt/8g 로 마운트
  6. cp -ax / /mnt/8g  명령으로 파티션 복사
  7. 리눅스 셧다운
  8. conf에서 cobd0를 8g로 변경. 새로 추가했던 cobd2 행 삭제
  9. 부팅
  10. 부팅 중 에러. 으~

그래서 다시 웹 검색을 해서 페도라 이미지를 다른 이름으로 복사한 후에 cobd3에 연결해서 다시 아래와 같이 작업했습니다.

  1. fsutil을 이용하여 8g 이미지를 만듦
  2. 새로 만든 8g 이미지를 conf 파일에 cobd2로 등록
  3. 기존의 페도라 이미지를 fedora_9_copied.img 로 복사
  4. fedora_9_copied를 cobd3에 등록
  5. 리눅스를 부팅한 후에
  6. 8g 와 연결된 cobd2를 mkfs -t ext3 /dev/cobd2 를 실행하여 ext3로 포맷
  7. /dev/cobd2를 /mnt/8g 로 마운트
  8. /dev/cobd3를 /mnt/copied로 마운트
  9. cp -ax /mnt/copied/. /mnt/8g  명령으로 파티션 복사
  10. 리눅스 셧다운
  11. conf에서 cobd0를 8g로 변경, 새로 추가했던 cobd2, cobd3 행 삭제
  12. 부팅
  13. 부팅 중 에러. 아우~

copy 명령어를 바꾸어 가면서 여러 차례 반복해 보았지만 역시 부팅이 안 되네요. 웹을 검색해 보면 이미지 확장을 데비안과 젠투는 있는데 페도라만 없네요. 이런 이유로 페도라 이미지를 확장하는 대신에 사용자 영역인 /home만 따로 별개의 이미지 파일을 이용하도록 바꾸었습니다. 즉,

  1. 4g짜리 이미지를 만들어서
  2. ext3로 포맷하고,
  3. 시스템에 디스크를 추가한후,
  4. 기존의 /home을 옮긴 후애
  5. /etc/fstab에 새로 생성한 디스크를 /home으로 등록하고
  6. 앞으로 사용자 계정은 모두 새로 만든 이미지로 이용합니다.

즉, 사용자 파일이나 프로젝트 파일은 모두 새로 만든 4g짜리 이미지에 저장한다는 얘기가 되겠습니다. 이렇게 되면 리눅스와 사용자 파일을 나누어 관리할 수 있는 장점이 있습니다. 그러나 혹, 페도라 이미지를 확장하는데 성공하신 분은 강좌 글에 설명을 부탁드립니다. ^^

coLinux에 새 하드 디스크 추가

일단 4g 이미지 파일부터 만들겠습니다..

8G 이미지 파일 만들기

오랫동안 MS Windows를 이용하여 개발 생활을 해왔지만 오늘에서야 fsutil 이라는 유틸리티가 있는지 처음 알았습니다. 이 프로그램을 이용하면 아주 간단하게 원하는 크기의 이미지 파일을 만들 수 있습니다. 단위가 byte여서 숫자가 복잡해 보이지만 매우 명쾌하게 실행됩니다.

우선 8G는 4*1024*1024*2024= 4294967296 입니다.

c:/> d:
d:/> cd /coLinux    <--- coLinux가 설치된 디랙토리로 이동합니다.
d:/> fsutil file createnew home_4g.img 4294967296
순식간에 4g 짜리 이미지 파일이 생깁니다.

conf 파일 수정

생성된 home_4g.img를 coLinux에서 사용할 수 있도록 conf 파일을 수정합니다. 저는 페도라 이미지를 사용하므로 fedora.conf를 아래와 같이 수정했습니다.

kernel=vmlinux
initrd=initrd.gz
mem=256
cobd0="d:/coLinux/Fedora-9.img"
cobd1="d:/coLinux/swap.img"
cobd2="d:/coLinux/home_4g.img"
root=/dev/cobd0
eth0=tuntap,"coLinuxNet" ro

cobd2에 새로 만든 home_4g.img를 등록했습니다.

coLinux 부팅

수정된 conf 파일을 저장하고 coLinux를 부팅합니다. conf에 새로 만든 4g 이미지를 추가했기 때문에 /dev/cobd2로 접근할 수 있습니다. ext3로 포맷합니다.

]# mkfs -t ext3 /dev/cobd2

]# mkdir /mnt/4g
]# mount /dev/cobd2 /mnt/4g
]# mv /home/* /mnt/4g   ---> /home의 하위에 있는 파일이나 폴더를 /mnt/4g로 이동
]# umount /mnt/4g

/etc/fstab 수정

/dev/cobd2에 /home을 연결합니다. 연결한다는 말이 맞는지 모르겠습니다만 부팅하면 자동으로 /home에 연결하도록 합니다.

]# vi /etc/fstab

LABEL=/     /          ext3    defaults        1 1
tmpfs       /dev/shm   tmpfs   defaults        0 0
devpts      /dev/pts   devpts  gid=5,mode=620  0 0
sysfs       /sys       sysfs   defaults        0 0
proc        /proc      proc    defaults        0 0
LABEL=swap  none       swap    defaults        0 0
/dev/cobd2  /home      ext3    defaults        0 0

reboot

이제 리눅스를 부팅합니다.

]# reboot

부팅 후에 사용자 계정으로 로그인합니다. 이제 시스템 용량을 확인하면 /home 부분만 4g로 확장된 것을 보실 수 있습니다.

]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/cobd0            4.0G  2.0G  1.8G  53% /
tmpfs                 126M     0  126M   0% /dev/shm
/dev/cobd2            4.0G  137M  3.7G   4% /home
]$ 

이로써 시스템과 사용자 영역을 분리했습니다.