리눅스 파일 시스템은 단편화가 적게 일어난다고 하네요. 그런데 파일 시스템의 파티션이
실린더를 따라서 생성이 된다고 하니 dd 가 디스크의 각 영역에 어떻게 번호를 매기느냐도
복사하는데 고려해야 할 사항이겠네요. 사실 잘 모르겠습니다.
단편화 찾아 봤더니 이런 글이… 아직 읽어 보지는 않았습니다.
리눅스 파일 시스템은 단편화가 적게 일어난다고 하네요. 그런데 파일 시스템의 파티션이
실린더를 따라서 생성이 된다고 하니 dd 가 디스크의 각 영역에 어떻게 번호를 매기느냐도
복사하는데 고려해야 할 사항이겠네요. 사실 잘 모르겠습니다.
단편화 찾아 봤더니 이런 글이… 아직 읽어 보지는 않았습니다.
clonezilla나 partclone을 이용하면 됩니다.
clonezilla나 partclone은 사용한 블럭 또는 전체 블럭 백업이 가능하고, 멀티쓰레드를 이용하는 pigz(멀티쓰레드 지원하는 gzip)을 이용하면 압축율도 높고 멀티코어를 이용해 속도도 빠급니다.
clonezilla는 gui 프로그램으로 partclone, ntfsclone, …의 프론트 앤드 입니다.
partclone은 바로 백업이 가능해 아주 편합니다. (멀티쓰레드를 활용하려면 pigz를 설치해야함.)
압축을 사용하면 백업이 압축하지 않은것 보다 빠릅니다.
사용법:
압축 사용 안함
백업: sudo partclone.ntfs -c -s /dev/sda1 -o ~/image_sda1.pcl
복원: sudo partclone.ntfs -r -s ~/image_sda1.pcl -o /dev/sda1
압축 사용시 (gzip -c 대신 pigz -p 4 -0 -c를 넣으면 됨, 속도가 빠름. p 다음 숫자는 압축시 쓰레드수, -0는 압축 정도 (0-9: --fast -1, --best -9))
백업: sudo partclone.ntfs -c -s /dev/sda1 | gzip -c > ~/image_sda1.pcl.gz
복원: zcat ~/image_sda1.pcl.gz | sudo partclone.ntfs -r -o /dev/sda1
sudo 명령 사용해야함. 디스크 접근이기에…
클론질라의 사이트에서 패키지 다운이 가능합니다.
아래의 주소에서 32, 64 비트 버전 다운로드 가능합니다.
리눅스에서 단편화가 생기지 않는다는 말은 좀 어폐가 있습니다… 다만 그걸 최소화 하기 위해 파일을 연결해서 쓰지 않고 가급적 뚝뚝 띄워 놓는 방법을 쓸 뿐입니다. 멀티유저/멀티테스킹 환경이면 한번에 한 파일을 균일하게 다 읽고 쓰고 하는 경우는 잘 없고 프로세스들끼리 할당된 시간 동안 이거 조금 저거 조금 읽고 쓰고 하는 형태가 되는데요, 이런 환경에서 빈 공간을 충분히 두고 불규칙적으로 흩어 놓으면 파일에 생기는 웬만한 변화는 파편화를 일으키지 않고도 해결이 되게 하고, 헤드가 극단적으로 움직이는 경우가 최소화 된다는 장점이 있습니다.
비유를 해서 설명하자면…
윈도우즈가 책상 위를 가급적 깔끔하게 정리해 놓는 타입이라면
리눅스는 모든 물건을 책상 위에 대충 늘어놓는 타입인겁니다.
얼핏 보기에 깔끔하게 정리한 편이 효율적일거라 생각하겠지만 예를 들어 편지를 쓰고 있다가 예쁜 그림을 하나 다른 종이에 그려서 그걸 오려 붙이고 싶다고 해 봅시다.
그럼 윈도우즈는 종이에 연필로 편지를 쓰고 있다가 일단 편지지를 한쪽으로 놓아 두고 연필꽂이에서 그림을 그릴 사인펜들을 꺼내고 옆에 종이 수납함에서 여분의 종이도 꺼내야 합니다. 곧이어 서랍을 열어 칼울 꺼내고 닫은 다음 자를 넣어 놓은 상자를 열어 철자를 하나 꺼낸 다음 그림을 그리고 모양에 맞게 자른 풀을 서랍에서 꺼내 편지에 붙이죠. 그리고 남은 부스러기는 휴지통에 넣습니다.
반면 리눅스는 똑같은 일을 하지만 어차피 모든게 다 책상위에 나와 있었기 때문에 위 시나리오에서 서랍을 열고 상자를 뒤지고 하는 시간을 버는 겁니다. 모든게 다 손에 닿는 곳에 있으니까요. 뭔가 놓아야 할 물건이 늘어난다고 하더라도 윈도우즈쪽은 나름의 기준에 맞게 여기저기 정리를 해 놔야 하고 애초에 생각한 공간 이상이 필요하면 다른걸 다 움직여야 하지만 리눅스쪽은 대충 빈 공간에 놓으면 되는거죠.
여기서 요는 깔끔한게 목적이 아니라 책상이라는 공간을 어떻게든 효율적으로만 사용하면 된다기 때문에 컴퓨터에서는 이런 방식이 더 효율적이 되는 겁니다.
C: 가 xp를 쓸시에는 30기가가 널널 하더니, 7을 깔고 나니 2기가 정도밖에는 여유가 없어서리(이것도 테스트로만…)
이걸 해결할려구 partclone.ntfs 로 백업하구, C:파티션 날리고, 다시 40기가로 만든다음, partclone.ntfs 로 복구했는데…
여전히 30기가로 되어있군요…저의 기대는 40기가 안에 7 이 있을꺼라 예상했는데…
복구시에 디스크 이미지인 관계로 30기가가 고대로 들어 갔나봐요…
기냥 tar 로 떠 볼껄 그랬나 …ㅠㅠ[/quote:1z3c75n9]
걱정할 필요 없습니다. partclone은 원본보다 작은 디스크에는 복원 하지 못하나 큰 디스크에서는 늘려주면 됩니다.
윈도7에서는 디스크 관리에서 용량을 늘려주면 되니까 말입니다.
제어판 > 관리도구 > 컴퓨터 관리 > 저장소 -> 디스크 관리에서 30기가의 파티션에서 볼륨 확장을 하면 40기가로 늘어납니다.
partclone은 원래 섹터 레벨의 복원이니 겪게 되는 문제입니다.
clonezilla는 iso 이미지로 부팅해서 백업하고, 큰 파티션에 복원하면 대상 파티션에 맞게 파티션을 리사이즈 해줍니다.