mirror of
https://github.com/zrepl/zrepl.git
synced 2025-08-18 02:39:46 +02:00
Created Development Setup (Linux) (markdown)
48
Development-Setup-(Linux).md
Normal file
48
Development-Setup-(Linux).md
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# High-Level Overview
|
||||||
|
|
||||||
|
* Libvirt + QEMU + KVM
|
||||||
|
* 2 long-lived Ubuntu VMs on a bridged network, accsessible from the host
|
||||||
|
* Develop & build zrepl on the host
|
||||||
|
* Use a script to `scp` built binaries into the guest
|
||||||
|
|
||||||
|
## Creating The VMs
|
||||||
|
|
||||||
|
(This section is copy-pasted from some notes and likely imperfect, feel free to amend)
|
||||||
|
|
||||||
|
Prepare disk images:
|
||||||
|
|
||||||
|
```
|
||||||
|
cd /var/lib/libvirt/images
|
||||||
|
wget 'https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img'
|
||||||
|
qemu-img convert jammy-server-cloudimg-amd64.img ubuntu-2204.qcow2
|
||||||
|
cp ubuntu-2204.qcow2 zrepl-2-ubuntu-2204.qcow2
|
||||||
|
cp ubuntu-2204.qcow2 zrepl-1-ubuntu-2204.qcow2
|
||||||
|
qemu-img resize zrepl-2-ubuntu-2204.qcow2 +10G
|
||||||
|
qemu-img resize zrepl-1-ubuntu-2204.qcow2 +10G
|
||||||
|
virt-customize -a zrepl-1-ubuntu-2204.qcow2 --hostname zrepl-1-2204 --root-password password:""
|
||||||
|
virt-customize -a zrepl-2-ubuntu-2204.qcow2 --hostname zrepl-2-2204 --root-password password:""
|
||||||
|
```
|
||||||
|
|
||||||
|
Start VMs.
|
||||||
|
|
||||||
|
Setup SSH using `ssh-copy-id` or similar.
|
||||||
|
|
||||||
|
**From here on, inside each VM**
|
||||||
|
|
||||||
|
```
|
||||||
|
mkdir /etc/zrepl
|
||||||
|
ln -s /opt/zrepl /usr/bin/zrepl
|
||||||
|
# we'll later scp the binaries built on the host to /opt/zrepl
|
||||||
|
```
|
||||||
|
|
||||||
|
Create zpool `p1`
|
||||||
|
|
||||||
|
```
|
||||||
|
dd if=/dev/zero of=/pool.img bs=1M count=1024 status=progress
|
||||||
|
poolname=p1
|
||||||
|
# for unencrypted pool
|
||||||
|
sudo zpool create -f $poolname /pool.img
|
||||||
|
# for encrypted pool
|
||||||
|
echo foobar2342 > /pool.key && sudo zpool create -f -O encryption=on -O keyformat=passphrase -O keylocation=file:///pool.key $poolname /pool.img
|
||||||
|
```
|
||||||
|
|
Reference in New Issue
Block a user