mirror of
https://gricad-gitlab.univ-grenoble-alpes.fr/tienyoun/presentations.git
synced 2026-09-26 13:31:01 +00:00
144 lines
2.4 KiB
Markdown
144 lines
2.4 KiB
Markdown
# Migration Geodesic ZFS
|
|
|
|
----
|
|
|
|
# Needs
|
|

|
|
|
|
----
|
|
|
|
# Summary
|
|
- Rsync
|
|
- Offline migration (data files)
|
|
- Online migration (dumps)
|
|
- Snapshots
|
|
- Virtual Machines
|
|
- ZFS/BTRFS
|
|
- Container-based solutions
|
|
|
|
----
|
|
|
|
## rsync/scp : offline migration
|
|
|
|

|
|
|
|
----
|
|
|
|
## rsync/scp : online migration
|
|

|
|
|
|
----
|
|
|
|
## rsync/scp
|
|
#### Possible practical issues :
|
|
- File permissions
|
|
- Postgres permissions
|
|
- SSH keys
|
|
- Configuration mismatch
|
|
|
|
<!--- Static files : `rsync` or `scp` --->
|
|
```diff
|
|
+ No big architectural changes
|
|
- Lots of configuration
|
|
- Heavy : will take time to backup and restore
|
|
- Hacky ?
|
|
```
|
|
|
|
----
|
|
|
|
## Snapshots
|
|
|
|

|
|
|
|
----
|
|
|
|
## Snapshots
|
|
|
|

|
|
|
|
----
|
|
|
|
## Snapshots
|
|
|
|

|
|
|
|
----
|
|
|
|
## Snapshots
|
|
|
|

|
|
|
|
----
|
|
|
|
### Virtual Machine cloning
|
|
```diff
|
|
- Must fiddle with hypervisor
|
|
- We don't want to nest virtual machines
|
|
```
|
|
|
|
----
|
|
|
|
### ZFS
|
|
<!-- https://cdn.arstechnica.net/wp-content/uploads/2020/05/copyonwrite-000-nocow.gif -->
|
|

|
|
> Conventional Filesystem
|
|
|
|
----
|
|
|
|
### ZFS
|
|
<!-- https://cdn.arstechnica.net/wp-content/uploads/2020/05/copyonwrite-000-nocow.gif -->
|
|

|
|
> Copy on write (CoW)
|
|
|
|
----
|
|
|
|
### ZFS
|
|
<!-- https://cdn.arstechnica.net/wp-content/uploads/2020/05/copyonwrite-002-data-worm.gif -->
|
|

|
|
> Simplified CoW representation
|
|
|
|
----
|
|
|
|
### ZFS
|
|
<!-- https://cdn.arstechnica.net/wp-content/uploads/2020/05/copyonwrite-003-visualizing-snapshots.gif -->
|
|

|
|
> Snapshots using CoW
|
|
|
|
----
|
|
|
|
### ZFS
|
|
#### Tools :
|
|
- [zrepl](https://zrepl.github.io/quickstart.html)
|
|
- [syncoid](https://github.com/jimsalterjrs/sanoid/wiki/Syncoid)
|
|
```diff
|
|
+ Automatic / Seamless
|
|
- Possible use of untested additional tools/programs
|
|
- Additional system complexity
|
|
```
|
|
|
|
----
|
|
|
|
### Container-based solutions
|
|
#### LXD
|
|
- Hypervisor for Linux Containers (LXC) and virtual machines
|
|
- Can use ZFS
|
|
- Canonical maintaned
|
|
|
|
|
|
```diff
|
|
+ Automatic / Seamless
|
|
- Additional architectural complexity
|
|
```
|
|
|
|
----
|
|
|
|
#### Kubernetes Volume Cloning
|
|
|
|
```diff
|
|
+ Automatic / Seamless
|
|
- Additional architectural complexity
|
|
- Definitely Hacky
|
|
- Kubernetes
|
|
- Better handled with operators/pods
|
|
```
|