이 페이지는 모바일에서 보는 것을 가정하지 않았습니다.
 라즈베리파이에 OS 설치하는 것을 모바일로 불가능하다고 판단하였고
 이 판단에 따라 데스크탑에서 보는 것만을 가정하였습니다.

kABI-tracking kmod가 뭔데?

커널 모듈의 경우 커널이 업데이트 되면 다시 빌드하게 됩니다.
빌드하기 위한 소스를 rpm이나 deb 파일의 형태로 배포하여 커널이 업데이트되면 다시 빌드하는 것이죠.
zfs의 경우 zfs-dkms라는 패키지가 있습니다.
이 패키지는 커널이 업데이트되면 zfs를 다시 빌드하기 위한 소스가 저장된 패키지입니다.
그래서 ubuntu로 root on zfs를 사용할 때면 커널이 업데이트 될 때 15분~ 20분 소요되었습니다.

하지만 kABI-tracking kmod을 사용하게되면 커널이 업데이트되어도 다시 빌드하지 않습니다.

저는 원래도 RHEL을 좋아했었습니다.
그래서 기업에서 fedora계열 사용하는 이유에 대해서도 적었었죠.
그런 와중에 kABI-tracking kmod를 알게되었고 라즈베리파이를 갈아엎기로 결정하였습니다.

이 전에는 ubuntu를 이용하지 않았나?

이전 글에서 간편하게 zfs를 사용하기 위해 우분투를 이용하였습니다.
zfs on linux에서 그대로 따라하면 root on zfs가 구현 가능하도록 잘 설명 되어있는데다가, sudo apt upgrade로 쉽게 zfs를 업데이트 할 수 있기 때문입니다.

반면 RHEL 계열에는 aarch64용 zfs가 repository로 존재하지 않습니다.
그래서 RHEL 계열로 root on zfs를 구현하려고 하면 build부터 해야하고, zfs가 업데이트 되어도 sudo dnf update로 업데이트할 수 없고, 다시 빌드해야 합니다.
게다가 Live 이미지로 부팅을 해야하는데, aarch64용으로는 live 이미지가 제공되지 않습니다.

이 글의 목적

하지만 우분투에는 몇가지 치명적인 단점이 존재했습니다.
처음에 언급한 그것, 커널 모듈 빌드가 단점이지요.
그래서 이번에 라즈베리파이에 zfs를 이용한 RHEL을 설치하게 되었습니다.
이 글에서는 zfs를 빌드하고 os 설치하는 모든 과정을 적을 예정입니다.

또한 과정에서 부딫힌 역경(?)과 그에 대한 해결책들을 모두 적어보겠습니다.
퇴근 후 매일 3시간 정도씩 투자해서 거의 3주에 걸친 결과물입니다.ㅎㅎㅎㅎ
(라즈베리파이에 OS 설치하는 시간이 가장 길었습니다.)

개요

RHEL Root on ZFS에 따르면 Live DVD가 있어야 합니다
하지만 안타깝게도 aarch64에는 Live DVD가 없습니다.
그래서 과거에는 Live DVD를 만들려고 시도해보았다가 결국 우분투를 설치했죠.
하지만 해결 방안은 있었습니다!!

OS를 두번 설치하면 되는 것이었습니다.
-.-;

이 방법을 이용해보니까, 혁신적이더라구요.
live boot로 부팅해서 zfs로 된 boot disk를 롤백한다던가 하는 용도로 사용할 수 있었습니다.
저는 x86 서버를 구성한다 해도 live boot iso로 부팅해서 zfs를 설치하는 것이 아니라, 이 방법처럼 rhel을 두번 설치하는 방법으로 구현하지 않을까 싶습니다.ㅎㅎ

목차

  1. 준비물
  2. 디스크 파티션 및 OS install disk 생성
  3. 뭔가 이상한(?) live boot disk 만들기
  4. 이것으로 뭔가 이상한 라이브 부트 이미지로 부팅했습니다.
    boot from live image
    공식 튜토리얼에 따르면 이제 두줄 진행했어요.ㅎㅎㅎㅎㅎ
  5. zfs 패키지 준비하기 (참조: Custom Packages: rpm)
  6. boot disk 파티셔닝 (파티션 번호 주의) (참조: RHEL Root on ZFS)
  7. linux core 설치
  8. zfs disk로 chroot하여 zfs 설치 및 부트로더 설정
  9. tmpfs, swap 설정(root on zfs의 ubuntu 참조))
  10. 주의사항 – 제가 경험한 문제들 (스냅샷, grub2 pc module, dracut location, grub2-mkconfig, kernel-abi abailbility list, passwd 전 selinux 끄기, lib modules/* 사용하지 말기, pv dd로 boot pool 백업하기. )

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다


Ads Blocker Image Powered by Code Help Pro

광고 차단 감지됨!

닫기를 누르면 이용하실 수 있지만, 광고 차단은 해제해주시면 좋겠습니다.
Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock