| |
Q. 리눅스에서 하드디스크를 백업받으려고 합니다. 그런데 리눅스에서는 EXT2 파일시스템의 제약으로 파일 크기가 2GB를 넘지 못한다고 들은 것 같습니다. 제가 이용하는 디렉토리는 무려 5GB 정도가 되는데, 결국 몇 개로 나눠 저장해야 하나요?
A. 리눅스는 버전 2.2 커널까지는 파일 크기가 2GB를 넘지 못했습니다. 그 이유는 알고 있는 바와 달리 EXT2 문제는 아닙니다. EXT2는 파일 크기를 나타내는데, 64비트를 사용하고 있어 사용할 수 있는 파일 크기는 2의 63승, 즉 8EB(8 엑사바이트)가 됩니다(최상위 비트(MSB)는 부호로 사용). 더 큰 문제는 리눅스의 파일시스템 추상화 계층인 VFS(Virtual File System)과 Glic가 파일 크기를 나타내는데 long형(32비트를 사용하는 머신에서 리눅스는 long을 4바이트로 구성한다. 즉, 8비트 = 1바이트가 네 개이므로 총 32비트이므로 표현할 수 있는 가지 수는 2의 32승, 최상위 비트를 부호 비트로 사용하므로 최대 크기는 2GB)을 사용해 왔기 때문이다. 64비트 머신에서는 long형을 8바이트로 나타내므로 이미 64비트가 최대 파일 크기이기 때문에 문제가 없었습니다.
이러한 제약 조건은 커널 2.4 이후, Glibc 2.1.3 부터는 파일 크기를 나타내는데 long long형을 사용하면서 사라졌습니다. long long형은 long형의 두배, 즉 32비트 머신이라면 long형이 32비트이므로 이의 두배인 64비트를 사용한다는 의미입니다. 따라서 백업을 받을 때 이에 대해 걱정하지 않아도 됩니다.
---
프로그램세계( http://www.pserang.co.kr/ ) 2003.07, 글 박주연(kodids)
|