# Proxmox VE + OpenMediaVault使用lxc

安裝 debian LXC，並修正原磁碟大小

![](https://529150212-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lh81JtaIQ84bwQqz_Wh%2F-LqJjJyMU6TZmzeJexD_%2F-LqJjhGUkTCz_tG5DAk9%2Fimage.png?alt=media\&token=5373cd6e-866a-4fe1-aea9-03944013dc03)

![](https://529150212-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lh81JtaIQ84bwQqz_Wh%2F-LqJjJyMU6TZmzeJexD_%2F-LqJjMyJqEMjjm_Ehu-S%2Fimage.png?alt=media\&token=ecfabd8e-fed4-495d-844f-72f41f076497)

安裝 OpenMediaVault&#x20;

修改debian lxc設定

```
nano /etc/pve/lxc/100.conf
#加入三行設定
lxc.mount.auto: cgroup:rw
lxc.mount.auto: proc:rw
lxc.mount.auto: sys:rw
```

```
更新 LXC 並且重新啟動 LXC： 
apt update && apt upgrade -y && reboot
```

#### 新增OMV套件來源

<https://openmediavault.readthedocs.io/en/latest/installation/on_debian.html>

```
cat <<EOF >> /etc/apt/sources.list.d/openmediavault.list
deb https://packages.openmediavault.org/public usul main
EOF
```

自動安裝script

```
export LANG=C.UTF-8
export DEBIAN_FRONTEND=noninteractive
export APT_LISTCHANGES_FRONTEND=none
wget -O "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc" https://packages.openmediavault.org/public/archive.key
apt-key add "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc"
apt-get update
apt-get --yes --auto-remove --show-upgraded \
	--allow-downgrades --allow-change-held-packages \
	--no-install-recommends \
	--option Dpkg::Options::="--force-confdef" \
	--option DPkg::Options::="--force-confold" \
	install openmediavault-keyring openmediavault
# Populate the database.
omv-confdbadm populate
# Display the login information.
cat /etc/issue
```

```
更新套件庫

apt update
apt install openmediavault-keyring -y
apt update
```

### 新增 Zvol — 利用 ZFS 模擬實體硬碟

在先前建立的ZFS儲存池，建立使用omv使用的zfs磁碟

<div align="left"><img src="https://529150212-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lh81JtaIQ84bwQqz_Wh%2F-LqKVEswc34cBG0B7Tpu%2F-LqKVa2raikLxgl5WpMk%2Fimage.png?alt=media&#x26;token=c0aeb385-c071-4f0f-813f-5cb80908d585" alt=""></div>

```
zpool list
zfs create -V 10GB local-zpool/omv-disk
```

#### 查詢 Zvol 的實際位置

透過 `ls -al`發現是一個 link位置後發現是一個 link，再用 `ls -al`查尋他的真實位置

```
ls -l /dev/zvol/local-zpool/omv-disk 
lrwxrwxrwx 1 root root 9 Oct  4 14:41 /dev/zvol/local-zpool/omv-disk -> ../../zd0
```

```
fdisk /dev/zd0 

Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x05a590f4.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-20971519, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-20971519, default 20971519): 

Created a new partition 1 of type 'Linux' and of size 10 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

```

```
ls -al /dev/zd0* 
brw-rw---- 1 root disk 230, 0 Oct  4 14:49 /dev/zd0
brw-rw---- 1 root disk 230, 1 Oct  4 14:49 /dev/zd0p1
```

修改lxc的設定檔

```
lxc.cgroup.devices.allow: b 230:0 rwm
lxc.cgroup.devices.allow: b 230:1 rwm
lxc.autodev: 1
lxc.hook.autodev: /var/lib/lxc/100/mount-hook.sh
```

nano /var/lib/lxc/100/mount-hook.sh

```
#!/bin/sh
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sda b 230 0
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sda1 b 230 1

```

```
lxc.aa_profile = unconfined
lxc.mount.auto: cgroup:rw
lxc.mount.auto: proc:rw
lxc.mount.auto: sys:rw
lxc.cgroup.devices.allow: b 230:0 rwm
lxc.cgroup.devices.allow: b 230:1 rwm
lxc.autodev: 1
lxc.hook.autodev: /var/lib/lxc/102/mount-hook.sh
lxc.mount.entry: /dev/zd0p1 /dev/sda1 bind,create=dir,optional 0 0
```

```
chmod +x /var/lib/lxc/100/mount-hook.sh
```
