저는 CentOS 7을 실행하는 서버를 관리하고 있습니다. 데비안 10을 설치하고 싶습니다. 시스템의 일부가 현재 거의 경험이 없는 zfs 풀에 있기 때문에 파일 시스템 구조와 잠재적인 데이터 손실이 걱정됩니다.
시스템에는 총 12개의 물리적 저장 장치가 있습니다.
- 마운트 포인트가 있는 (현재 다운그레이드된) 소프트웨어 RAID 1에 SSD 2개(
sda
,sdb
)가 설정되어 있습니다/
. - 8개의 대형 HHD(
sde
- )가 마운트 지점 , 및 가 있는 4개의 파일 시스템으로 ZFS 풀을sdl
형성하고 있습니다 .raidz2
/home
/opt
/usr
/var
- 2개의 SSD(
sdc
,sdd
)에는 각각 3개의 파티션이 있습니다. 둘 중 첫 번째는 교환으로 사용됩니다. 두 개의 두 번째 파티션은 ZFS 미러 로그 장치를 형성합니다. 두 파티션의 세 번째 파티션은 ZFS 캐시 역할을 합니다.
모든 데이터를 home 및 var 파일 시스템에 저장하고 싶습니다. 어떻게 시작할지 계획은 있는데 어떻게 끝낼지 모르겠어요. 이 과정에 대해 세 가지 질문이 있습니다.
내 생각은 설치하는 것입니다모두시스템의 RAID는 sda와 sdb로 구성됩니다. 데비안을 설치하는 동안 RAID의 물리 볼륨으로 사용할 두 개의 디스크(현재 sda
및 ) 를 선택 sdb
하고 유형으로 RAID1을 선택합니다. 그런 다음 select 및 sdc1
swap 을 제외한 모든 시스템을 동일한 RAID 파일 시스템에 설치하고 , 및 - 는 변경하지 않고 그대로 sdd1
둡니다 .sdc2
sdc3
sdd3
sdd3
sde
sdd
설치가 완료되면 다음과 같습니다.
1분기: RAID 1 파일 시스템에서 부팅하는 데 문제가 있나요?
이전에는 그렇지 않았지만 데비안 설치 가이드에는 다음과 같이 나와 있습니다.
계획한 파티션 구성표를 사용하여 시스템을 부팅할 수 있는지 확인하십시오. 일반적으로
/boot
루트( ) 파일 시스템에서 RAID를 사용하는 경우에는 별도의 파일 시스템을 생성해야 합니다/
. 대부분의 부트로더는 미러링(스트라이핑 아님!) RAID1을 지원하므로 RAID5/
및 RAID1 등을 사용할 수 있는 옵션이 있습니다 ./boot
설치가 완료된 후 풀을 가져오고 싶습니다. 마운트 지점은 , /home
및 으로 구성됩니다 ./opt
/usr
/var
- 2분기: 새로 설치된 시스템이 이미 마운트 지점을 점유하고 있는 경우 풀에서 파일 시스템을 계속 마운트하려면 어떻게 해야 합니까?
또 다른 방법은 Live CD/USB 를 실행하고 /home
새로 /opt
생성 된 . 그런 다음 새 시스템을 풀 파일 시스템( 과 동일 )으로 이동할 수 있으므로 새 시스템에서 원하는 모든 것이 풀 파일 시스템에 있습니다. 지금,/usr
/var
/usr
/var
- 3분기: Live CD/USB 없이 다음 부팅 시 자동으로 가져오고 설치하도록 풀을 설정하려면 어떻게 해야 합니까?
감사해요. 이 질문이 너무 일반적인 질문은 아니길 바랍니다(실제로는 세 가지 질문이기 때문입니다). 개선하기 위해 제가 할 수 있는 일이 있으면 알려주시기 바랍니다.
답변1
시작하기 전에 대체 환경에서 유사한 단계를 수행하는 것이 좋습니다. 나는대부분 자동화된 방랑 설정zfsonlinux 및 일부 디스크를 사용하여 데비안 인스턴스를 설정합니다. 약간 구식이지만 수정하지 않으면 곧 작업 환경을 갖게 될 것입니다. 필요성을 느끼고 PR을 올리신다면, 최신 데비안으로 자유롭게 업데이트해주세요.
개인적인 질문에 답변하려면:
grub을 사용할 때 RAID1에서 부팅하는 데 문제가 없습니다. Grub은 RAID1을 잘 이해하고 자동으로 감지합니다. 이것dest/50setup-boot 스크립트이 작업을 안정적으로 수행하는 특정 명령은 내 저장소에 나와 있습니다.
문제가 발생할 수 있으므로
/usr
이전 시스템에서 다시 설치하지 않는 것이 좋습니다 ./var
ZFSonLinux는 풀을 가져올 때 파일 시스템을 자동으로 마운트하므로 시스템을 처음 부팅하기 전에 이 기능을 비활성화하려면 몇 가지 단계를 추가해야 합니다. 다음과 같이 보일 것입니다:zfs set canmount=off tank/usr zfs set canmount=off tank/var
또는 계속 참조할 수 있도록 마운트 지점을 변경할 수 있습니다.
zfs set mountpoint=/mnt/old-usr tank/usr zfs set mountpoint=/mnt/old-usr tank/var
/usr
ZFS 설치를 새 시스템으로 교체 하려는 경우 제안을 따를 수 있지만 부팅 시 initramfs를 통해 ZFS가 활성화되어 있는지 확인해야 합니다. vagrant 예제는/
ZFS에서 루트()를 제공하므로 필요한 모든 예제가 있어야 합니다.에 관해서는
/home
새로 생성된 메인 시스템 위에 설치해도 문제가 발생해서는 안 되지만 시스템 사용자와 이전 파일 시스템이 외부 시스템 사용에 동의하지 않기 때문에 원래 예상한 대로 작동하지 않을 수 있습니다. 사용자 관리 시스템(예: LDAP). 여기에는 몇 가지 옵션이 있습니다.- 이전 시스템
/etc/passwd
과/etc/groups
파일을 참조용으로 보관한 다음 새 시스템으로 부팅할 때 일부 수동 조정을 수행해야 합니다. - 이전 마운트 지점을 유사한 방식으로 변경하거나 마운트
/home
한 후 수동으로 조정하십시오./usr
/var
일반 데비안 시스템은 이 경로를 사용하지 않으므로 이전처럼 자동으로 마운트될 수 있으므로 이
/opt
경로는 문제를 일으키지 않습니다.- 이전 시스템
이러한 유형의 재설치에는 Live CD 방법이 거의 필수입니다. 예를 들어, 라이브 환경을 참조하는
bootstrap/
내 저장소 폴더 에서는 새로 설치된 시스템을 참조합니다.host/
dest/
새 시스템에 파일 시스템을 설치하려면 zfsonlinux가 새 시스템에 설치되어 실행되고 있는지 확인하면 됩니다. 이는 일반적으로
zfs-initramfs
패키지를 설치할 때 자동으로 처리됩니다.zfs
다음 명령을 사용하여 모듈을 사용할 수 있는지 다시 확인할 수 있습니다 ./boot/initrd.img*
gunzip /boot/initrd.img-4.19.0-8-amd64 | grep 'usr/lib/libzfs.so'
전반적으로, 먼저 시뮬레이션된 환경에서 경험을 쌓는 것은 실제 환경에서 이를 성공적으로 수행할 가능성을 크게 높여줍니다.