목차

Proxmox passthrough

https://www.reddit.com/r/homelab/comments/b5xpua/the_ultimate_beginners_guide_to_gpu_passthrough/

https://blog.djjproject.com/740

하드웨어 요구사항

LSI 9264-8i 6GB PCI-E RAID

**Proxmox에서 LSI 9211-8i HBA 패스스루 설정 완벽 가이드** 🚀

Proxmox에서 LSI 9211-8i 호스트 버스 어댑터(HBA)를 가상 머신(VM)으로 직접 연결하여 스토리지 잠재력을 최대한 활용해 보라. 이 가이드는 TrueNAS나 Unraid 같은 VM에 HBA를 할당하여 최적의 성능과 직접적인 디스크 관리를 할 수 있도록 단계별 지침을 제공함.


\#\# **1단계: IOMMU 활성화하기**

가장 먼저, 하드웨어를 VM에 패스스루하려면 Proxmox 호스트에서 \*\*IOMMU (Input-Output Memory Management Unit)\*\*를 활성화해야 함.

#### 시스템 BIOS/UEFI 설정

1. Proxmox 호스트를 재부팅하고 시스템의 BIOS/UEFI 설정으로 들어간다. 2. 가상화 관련 설정을 찾다. 메인보드 제조사마다 명칭이 다를 수 있지만, 일반적으로 아래와 같은 이름으로 찾을 수 있다.

3. 이 기능들을 \*\*활성화(Enabled)\*\*한 후, 변경 사항을 저장하고 BIOS/UEFI를 종료함.

#### Proxmox 호스트 설정

이제 Proxmox 커널이 IOMMU를 사용하도록 GRUB 부트로더 설정을 변경해야 함.

1. 텍스트 편집기로 GRUB 설정 파일을 엽니다.

  ```bash
  nano /etc/default/grub
  ```

2. `GRUB_CMDLINE_LINUX_DEFAULT`로 시작하는 줄을 찾아서 CPU에 맞는 파라미터를 추가함.

  수정된 줄은 다음과 같을 것임 (기존에 다른 파라미터가 있을 수 있다).
  ```
  GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
  ```

3. 파일을 저장하고 편집기를 종료함.

4. GRUB 부트로더를 업데이트하여 변경 사항을 적용함.

  ```bash
  update-grub
  ```

5. Proxmox 호스트를 재부팅함.

  ```bash
  reboot
  ```

#### IOMMU 활성화 확인

재부팅 후 Proxmox 셸에서 다음 명령어를 실행하여 IOMMU가 활성화되었는지 확인함.

```bash dmesg | grep -e DMAR -e IOMMU ```

출력 메시지에서 DMAR (Intel) 또는 IOMMU가 활성화되었다는 내용을 확인해야 함.


\#\# **2단계: 패스스루할 HBA 준비하기**

이제 LSI 9211-8i HBA를 식별하고 Proxmox 호스트가 사용하지 않도록 격리해야 함.

#### HBA ID 및 IOMMU 그룹 식별

1. 모든 PCI 장치를 나열하고 "LSI"로 필터링하여 HBA를 찾다.

  ```bash
  lspci | grep -i lsi
  ```
  `03:00.0`과 같은 형식의 **버스 ID**를 얻을 수 있다.

2. 이 버스 ID를 사용하여 HBA의 벤더(Vendor) 및 제품(Product) ID를 확인함.

  ```bash
  lspci -n -s 03:00.0
  ```
  출력 결과는 `1000:0072`와 같이 콜론으로 구분된 두 개의 16진수 숫자임. 이 ID들을 메모해 두세요.

3. HBA가 자체 IOMMU 그룹에 속해 있는지 확인하는 것이 매우 중요함. 다음 명령어로 IOMMU 그룹을 확인할 수 있다.

  ```bash
  find /sys/kernel/iommu_groups/ -type l
  ```
  LSI HBA가 단독으로 있거나 함께 패스스루할 다른 장치와만 같은 그룹에 있는지 확인해라.

#### 호스트에서 HBA 격리하기

HBA를 패스스루하려면 부팅 시 `vfio-pci` 드라이버가 HBA를 선점하도록 설정해야 함.

1. 새로운 modprobe 설정 파일을 생성함.

  ```bash
  nano /etc/modprobe.d/vfio.conf
  ```

2. 파일에 다음 줄을 추가함. `1000:0072` 부분은 앞에서 확인한 벤더 및 제품 ID로 교체해라.

  ```
  options vfio-pci ids=1000:0072
  ```

3. `/etc/modules` 파일을 편집하여 부팅 시 필요한 VFIO 모듈을 로드함.

  ```bash
  nano /etc/modules
  ```
  파일 끝에 다음 모듈들을 추가함.
  ```
  vfio
  vfio_iommu_type1
  vfio_pci
  ```

4. 초기 RAM 파일 시스템(initramfs)을 업데이트하고 재부팅함.

  ```bash
  update-initramfs -u
  reboot
  ```

\#\# **3단계: VM에 HBA 할당하기**

이제 모든 준비가 끝났다. LSI 9211-8i HBA를 가상 머신에 할당해 보겠다.

1. VM 하드웨어 탭으로 이동: Proxmox 웹 인터페이스에서 HBA를 할당할 VM을 선택하고 "하드웨어" 섹션으로 이동함.

2. PCI 장치 추가: `추가` 버튼을 클릭하고 `PCI 장치`를 선택함.

3. HBA 선택: "장치" 드롭다운 메뉴에서 여러분의 LSI 9211-8i를 선택함.

4. 고급 옵션:

5. 추가: `추가` 버튼을 클릭하면 HBA가 VM에 할당된다.

이제 VM을 시작하면 게스트 운영체제는 LSI 9211-8i HBA와 연결된 모든 저장 장치를 마치 물리적으로 연결된 것처럼 인식하게 된다. 이제 VM 내에서 스토리지 설정을 자유롭게 구성할 수 있다. 🎉

https://www.reddit.com/r/homelab/comments/qogsil/proxmox_can_not_detect_lsi_92118i/?tl=ko

https://forum.proxmox.com/threads/enabling-iommu-for-lsi-9211-8i-passhtrough.144619/