Difference between revisions of "LXD Install Script"
Jump to navigation
Jump to search
(Created page with "``` #!/usr/bin/env bash set -eux destroy(){ # sudo snap remove lxd | true sudo zpool destroy tank | true } install_lxd(){ # sudo apt-get update && sudo apt-get install...") |
|||
| Line 1: | Line 1: | ||
| + | # Exiting ZFS Data Store called tank/lxd | ||
| + | ``` | ||
| + | #!/usr/bin/env bash | ||
| + | set -eux | ||
| + | |||
| + | import_zfs(){ | ||
| + | sudo apt-get update && sudo apt-get install -y zfsutils-linux | ||
| + | # ls /dev/disk/by-id/ | ||
| + | sudo zpool import <id> | ||
| + | sudo zpool status | ||
| + | sudo zfs list | ||
| + | } | ||
| + | |||
| + | install_lxd(){ | ||
| + | # sudo apt-get update && sudo apt-get install -y zfsutils-linux nftables wipe | ||
| + | sudo apt-get update && sudo apt-get install -y zfsutils-linux nftables | ||
| + | # sudo snap install lxd --channel=latest/stable | ||
| + | |||
| + | sudo cat <<EOF | lxd init --preseed | ||
| + | # Daemon settings | ||
| + | config: | ||
| + | core.https_address: 0.0.0.0:9999 | ||
| + | core.trust_password: sekret | ||
| + | images.auto_update_interval: 6 | ||
| + | # Storage pools | ||
| + | # Importing our pools | ||
| + | # Network devices | ||
| + | networks: | ||
| + | - name: lxdbr0 | ||
| + | type: bridge | ||
| + | config: | ||
| + | ipv4.address: 172.16.0.1/23 | ||
| + | ipv6.address: none | ||
| + | # Profiles | ||
| + | profiles: | ||
| + | - name: default | ||
| + | config: {} | ||
| + | description: "Default profile" | ||
| + | devices: | ||
| + | eth0: | ||
| + | name: eth0 | ||
| + | network: lxdbr0 | ||
| + | type: nic | ||
| + | root: | ||
| + | path: / | ||
| + | pool: default | ||
| + | type: disk | ||
| + | - name: test-profile | ||
| + | description: "Test profile" | ||
| + | config: | ||
| + | limits.memory: 2GB | ||
| + | devices: | ||
| + | test0: | ||
| + | name: test0 | ||
| + | nictype: bridged | ||
| + | parent: lxd-my-bridge | ||
| + | type: nic | ||
| + | EOF | ||
| + | sudo lxd recover | ||
| + | # <answer yes on all you want to recover> | ||
| + | } | ||
| + | |||
| + | test_lxd(){ | ||
| + | sudo lxc launch ubuntu:20.04 u1 | ||
| + | sudo lxc list u1 | ||
| + | sleep 10 | ||
| + | sudo lxc exec u1 -- host google.com | ||
| + | } | ||
| + | |||
| + | # destroy | ||
| + | install_lxd | ||
| + | # test_lxd | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | # New zfs data store | ||
``` | ``` | ||
#!/usr/bin/env bash | #!/usr/bin/env bash | ||
Revision as of 22:02, 3 November 2021
Exiting ZFS Data Store called tank/lxd
#!/usr/bin/env bash
set -eux
import_zfs(){
sudo apt-get update && sudo apt-get install -y zfsutils-linux
# ls /dev/disk/by-id/
sudo zpool import <id>
sudo zpool status
sudo zfs list
}
install_lxd(){
# sudo apt-get update && sudo apt-get install -y zfsutils-linux nftables wipe
sudo apt-get update && sudo apt-get install -y zfsutils-linux nftables
# sudo snap install lxd --channel=latest/stable
sudo cat <<EOF | lxd init --preseed
# Daemon settings
config:
core.https_address: 0.0.0.0:9999
core.trust_password: sekret
images.auto_update_interval: 6
# Storage pools
# Importing our pools
# Network devices
networks:
- name: lxdbr0
type: bridge
config:
ipv4.address: 172.16.0.1/23
ipv6.address: none
# Profiles
profiles:
- name: default
config: {}
description: "Default profile"
devices:
eth0:
name: eth0
network: lxdbr0
type: nic
root:
path: /
pool: default
type: disk
- name: test-profile
description: "Test profile"
config:
limits.memory: 2GB
devices:
test0:
name: test0
nictype: bridged
parent: lxd-my-bridge
type: nic
EOF
sudo lxd recover
# <answer yes on all you want to recover>
}
test_lxd(){
sudo lxc launch ubuntu:20.04 u1
sudo lxc list u1
sleep 10
sudo lxc exec u1 -- host google.com
}
# destroy
install_lxd
# test_lxd
New zfs data store
#!/usr/bin/env bash
set -eux
destroy(){
# sudo snap remove lxd | true
sudo zpool destroy tank | true
}
install_lxd(){
# sudo apt-get update && sudo apt-get install -y zfsutils-linux nftables wipe
sudo apt-get update && sudo apt-get install -y zfsutils-linux nftables
sudo snap install lxd --channel=latest/stable
# diskpath=/dev/sdc
# disk_uuid=$(lsblk --ascii -no UUID /dev/sdc)
# sleep 10
# sudo zpool create -f tank /dev/disk/by-partuuid/$disk_uuid
# sudo zpool create -f tank /dev/disk/by-uuid/$disk_uuid
tanK_disk=sdc
sudo zpool create -f tank $tank_disk
sudo zfs create -o mountpoint=none tank/lxd
sudo zpool status
sudo zfs list
sleep 10
# du -sh $diskpath
sudo cat <<EOF | lxd init --preseed
# Daemon settings
config:
core.https_address: 0.0.0.0:9999
core.trust_password: sekret
images.auto_update_interval: 6
# Storage pools
storage_pools:
- name: default
driver: zfs
config:
source: tank/lxd
# Network devices
networks:
- name: lxdbr0
type: bridge
config:
ipv4.address: auto
ipv6.address: none
# Profiles
profiles:
- name: default
config: {}
description: "Default profile"
devices:
eth0:
name: eth0
network: lxdbr0
type: nic
root:
path: /
pool: default
type: disk
- name: test-profile
description: "Test profile"
config:
limits.memory: 2GB
devices:
test0:
name: test0
nictype: bridged
parent: lxd-my-bridge
type: nic
EOF
}
test_lxd(){
sudo lxc launch ubuntu:20.04 u1
sudo lxc list u1
sleep 10
sudo lxc exec u1 -- host google.com
}
destroy
install_lxd
test_lxd