이 글의 목적
이번 튜토리얼에서는 mount 된 디스크에 OS를 설치하게 됩니다.
이전 과정에서 우리는 boot pool(/mnt/boot)과 root pool(/mnt)을 마운트하였습니다.
또한 /EFI 파티션도 /mnt/boot/efi에 마운트 했습니다.
마운트 된 이 공간, /mnt에 RHEL 리눅스를 설치할 것입니다.
이 때 우리는 사전에 빌드 한 zfs를 설치하기 위하여 zfs를 복사해둘 것입니다.
빌드 한 zfs 복사.
cd /zfs
cp -a /zfs /mnt/zfs
sys install:6 install packages
# GRUB 등 부트에 필요한 패키지를 설치합니다.
dnf --installroot=/mnt --releasever=$(source /etc/os-release ; echo $VERSION_ID | cut -d'.' -f 1) -y install \
@core grub2-efi-aa64 grub2-pc-modules grub2-efi-aa64-modules shim-aa64 efibootmgr kernel
# zfs on linux에서는 repo를 추가하고, repo를 활성화, zfs를 설치하지만, 우리는 RPM 파일을 설치할 것입니다.
# 이전에 설치한 것과 달리 zfs-dracut도 설치해야 합니다.
dnf localinstall *.$(uname -p).rpm zfs-dracut*.rpm --installroot=/mnt
sys conf: 1 gen fstab
mkdir -p /mnt/etc/
for i in ${DISK}; do
echo UUID=$(blkid -s UUID -o value ${i}-part1) /boot/efis/${i##*/}-part1 vfat \
umask=0022,fmask=0022,dmask=0022 0 1 >> /mnt/etc/fstab
done
echo $(echo $DISK | cut -f1 -d\ )-part1 /boot/efi vfat \
noauto,umask=0022,fmask=0022,dmask=0022 0 1 >> /mnt/etc/fstab
sys con:2-3 conf dracut, load mpt3sas module
echo 'add_dracutmodules+=" zfs "' > /mnt/etc/dracut.conf.d/zfs.conf
if grep mpt3sas /proc/modules; then
echo 'forced_drivers+=" mpt3sas "' >> /mnt/etc/dracut.conf.d/zfs.conf
fi
sys con:4-6 set locale, host id
rm -f /mnt/etc/localtime
## 여기서 언어, hostname, ip 설정 함
systemd-firstboot --root=/mnt --prompt --root-password=PASSWORD --force
zgenhostid -f -o /mnt/etc/hostid
dnf --installroot=/mnt install -y glibc-minimal-langpack glibc-langpack-en glibc-langpack-ko
sys conf:7 enable zfs service
systemctl enable zfs-import-scan.service zfs-mount zfs-import.target zfs-zed zfs.target –root=/mnt
sys conf:8 disable ssh
저는 안했습니다.ㅎㅎ
systemctl disable sshd --root=/mnt
systemctl enable firewalld --root=/mnt
sys conf:9 chroot 준비
chroot를 위해 주요 장치를 bind형태로 mount합니다.
m='/dev /proc /sys'
for i in $m; do mount --rbind $i /mnt/$i; done
history -w /mnt/home/sys-install-pre-chroot.txt
정리
/mnt를 root로 취급하여 부팅에 필요한 필수 패키지들을 설치하였습니다.
또한 부트로더를 설정하여 root on zfs로 부팅 가능한 상태로 만들었습니다.
다음 편에서는 /mnt로 chroot하여 계정이나 GRUB을 설정할 예정입니다.
목차
- 준비물
- 디스크 파티션 및 OS install disk 생성
- 뭔가 이상한(?) live boot disk 만들기
- 이것으로 뭔가 이상한 라이브 부트 이미지로 부팅했습니다.
공식 튜토리얼에 따르면 이제 두줄 진행했어요.ㅎㅎㅎㅎㅎ - zfs 패키지 준비하기 (참조: Custom Packages: rpm)
- boot disk 파티셔닝 (파티션 번호 주의) (참조: RHEL Root on ZFS)
- linux core 설치
- zfs disk로 chroot하여 zfs 설치 및 부트로더 설정
- tmpfs, swap 설정(root on zfs의 ubuntu 참조))
- 주의사항 – 제가 경험한 문제들 (스냅샷, grub2 pc module, dracut location, grub2-mkconfig, kernel-abi abailbility list, passwd 전 selinux 끄기, lib modules/* 사용하지 말기, pv dd로 boot pool 백업하기. )
답글 남기기