7.2. 암호화 볼륨 마운트하기

설치할 때 암호화 볼륨을 만들고 마운트 위치를 지정했다면, 부팅할 때 각각의 볼륨에 대해 열쇠글을 입력하게 됩니다. 실제 절차는 dm-crypt와 loop-AES가 약간 다릅니다.

7.2.1. dm-crypt

dm-crypt로 암호화한 파티션의 경우 부팅할 때 다음과 같이 물어봅니다:

Starting early crypto disks... part_crypt(starting)
Enter LUKS passphrase:

첫 번째 줄에서, part는 실제 파티션의 이름입니다. (예를 들어 sda2나 md0.) 여기에서 과연 어떤 볼륨의 열쇠글을 실제로 입력해야 하는 지 궁금할 것입니다. /home일까요? 아니면 /var일까요? 물론, 암호화 볼륨이 1개뿐이라면, 이 볼륨을 설정할 때 사용한 열쇠글을 입력하면 됩니다. 설치할 때 암호화 볼륨을 여러 개 설정했다면, 6.3.2.4절. “암호화 볼륨 설정하기”의 마지막 단계에서 적어 놓은 메모를 잘 가지고 있어야 합니다. part_crypt에 해당되는 사항과 거기에 해당하는 마운트 위치를 적어 놓지 않았다면 새로 설치한 시스템의 /etc/crypttab/etc/fstab에서 찾아 볼 수도 있습니다.

이 프롬프트는 암호화한 루트 파일시스템을 마운트할 때는 약간 다릅니다. 시스템을 부팅할 때 사용하는 initrd를 만들 때 어떤 initramfs 생성 프로그램을 사용했느냐에 달려 있습니다. 아래의 예제는 initramfs-tools로 initrd를 만들 경우에 대한 예제입니다:

Begin: Mounting root file system... ...
Begin: Running /scripts/local-top ...
Enter LUKS passphrase:

열쇠글을 입력할 때는 아무런 글자도 (별표 조차도) 나타나지 않습니다. 열쇠글을 잘못 입력하면, 두 번 더 시도할 수 있습니다. 세 번째 시도에서 틀리면 부팅 과정에서 해당 볼륨을 건너뛰고 다음 파일 시스템으로 넘어갑니다. 자세한 정보는 7.2.3절. “문제 해결” 부분을 보십시오.

모든 열쇠글을 입력하면 부팅은 평소와 같이 계속 진행합니다.

7.2.2. loop-AES

loop-AES를 사용해 암호화한 파티션의 경우 부팅할 때 다음 프롬프트가 나옵니다:

Checking loop-encrypted file systems.
Setting up /dev/loopX (/mountpoint)
Password:

열쇠글을 입력할 때는 아무런 글자도 (별표 조차도) 나타나지 않습니다. 열쇠글을 잘못 입력하면, 두 번 더 시도할 수 있습니다. 세 번째 시도에서 틀리면 부팅 과정에서 해당 볼륨을 건너뛰고 다음 파일 시스템으로 넘어갑니다. 자세한 정보는 7.2.3절. “문제 해결” 부분을 보십시오.

모든 열쇠글을 입력하면 부팅은 평소와 같이 계속 진행합니다.

7.2.3. 문제 해결

열쇠글이 틀려서 암호화 볼륨을 마운트하지 못할 경우, 부팅한 다음에 수동으로 마운트해야 합니다. 여러가지 경우가 있습니다.

  • 첫 번째 경우는 루트 파티션입니다. 올바르게 마운트하지 않으면, 부팅 과정이 멈추게 되고 컴퓨터를 다시 시작해서 열쇠글을 다시 입력해야 합니다.

  • 가장 쉬운 경우는 암호화 볼륨에 /home이나 /srv처럼 데이터가 들어 있는 경우입니다. 부팅한 다음에 이 볼륨을 수동으로 마운트하기만 하면 됩니다. loop-AES의 경우 한 번에 끝나는 작업입니다:

     # mount /마운트_위치
    Password:
    

    여기서 /마운트_위치는 특정 디렉토리로 써야 합니다. (예를 들어 /home) 일반적인 마운트와 다른점은 이 볼륨의 열쇠글을 입력해야 한다는 것 뿐입니다.

    dm-crypt의 경우에는 약간 까다롭습니다. 먼저 해당 볼륨을 다음 명령어로 device mapper에 등록해야 합니다:

    # /etc/init.d/cryptdisks start
    

    이렇게 하면 /etc/crypttab에 들어 있는 모든 볼륨을 검색하고 열쇠글을 올바르게 입력할 때마다 /dev 디렉토리 아래에 적당한 장치를 만듭니다. (이미 등록된 볼륨은 건너 뛰므로, 걱정하지 말고 이 명령어를 여러번 실행해도 됩니다.) 올바르게 등록을 마치면 해당 볼륨을 평소와 다름없이 마운트할 수 있습니다:

    # mount /마운트_위치
    

  • 꼭 필요하지 않은 시스템 파일이 들어 있는 볼륨중에 하나라도 (/usr 혹은 /var) 마운트할 수 없는 경우, 그래도 시스템이 부팅하고 수동으로 볼륨을 마운트할 수 있습니다. 하지만 현재 런레벨의 각종 서비스를 (다시) 시작해야 할 수도 있습니다. 서비스가 제대로 시작하지 않았을 가능성이 높기 때문입니다. 가장 쉬운 방법은 쉘에서 다음과 같은 명령어로 첫 번째 런레벨로 갔다가 다시 돌아오는 것입니다:

    # init 1
    

    이렇게 입력하고 루트 열쇠글을 물어보면 Control-D를 누릅니다.