docs: create acts/digital/changes/misesencontaineurs
This commit is contained in:
parent
43d9f50d62
commit
bf644de266
158
acts/digital/changes/misesencontaineurs.md
Normal file
158
acts/digital/changes/misesencontaineurs.md
Normal file
@ -0,0 +1,158 @@
|
||||
---
|
||||
title: Mise En Containeurs
|
||||
description: Il s'agit de prendre les serveurs phyiques et de les mettre en containeurs LXC.
|
||||
published: true
|
||||
date: 2022-07-15T12:34:08.620Z
|
||||
tags:
|
||||
editor: markdown
|
||||
dateCreated: 2022-07-15T12:34:08.620Z
|
||||
---
|
||||
|
||||
[../](../)
|
||||
|
||||
# Mise en containeurs
|
||||
|
||||
[/fr/acts/digital/changes/misesencontaineurs](/fr/acts/digital/changes/misesencontaineurs)
|
||||
|
||||
L'objectif est de mettre les serveurs actuels virtuels dans des containteurs d'un serveur plus gros.
|
||||
|
||||
https://discuss.linuxcontainers.org/t/howto-use-lxd-p2c/3574
|
||||
|
||||
https://blog.simos.info/how-to-compile-lxd-p2c-to-migrate-physical-servers-to-lxd-containers/
|
||||
|
||||
https://linuxcontainers.org/lxd/docs/latest/installing/
|
||||
|
||||
```
|
||||
apt install sqlite3
|
||||
aptitude install -y build-essential acl libacl1-dev libcap-dev liblxc1 \
|
||||
libsqlite3-dev libudev-dev libuv1-dev attr autoconf automake \
|
||||
dnsmasq-base git golang libacl1-dev libcap-dev libtool libudev-dev liblz4-dev \
|
||||
libuv1-dev make pkg-config rsync squashfs-tools tar tcl xz-utils ebtables \
|
||||
lxc-dev
|
||||
cd /root
|
||||
git clone https://github.com/canonical/raft.git
|
||||
cd raft
|
||||
autoreconf -i
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
cd ..
|
||||
|
||||
|
||||
|
||||
export CGO_CFLAGS="-I/deps/raft/include/ -I/deps/dqlite/include/"
|
||||
export CGO_LDFLAGS="-L/deps/raft/.libs -L/deps/dqlite/.libs/"
|
||||
export LD_LIBRARY_PATH="/deps/raft/.libs/:/deps/dqlite/.libs/"
|
||||
export CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)"
|
||||
|
||||
```
|
||||
|
||||
```bash
|
||||
wget https://github.com/lxc/lxd/archive/refs/heads/master.zip
|
||||
unzip master.zip
|
||||
cd lxd-master/
|
||||
aptitude update
|
||||
aptitude -y upgrade
|
||||
apt install -y build-essential acl libacl1-dev libcap-dev liblxc1 liblxc-dev \
|
||||
libsqlite3-dev libudev-dev libuv1-dev libdqlite-dev attr autoconf automake \
|
||||
dnsmasq-base git golang libacl1-dev libcap-dev libtool libudev-dev liblz4-dev \
|
||||
libuv1-dev make pkg-config rsync squashfs-tools tar tcl xz-utils ebtables \
|
||||
go-dqlite golang-github-canonical-go-dqlite-dev
|
||||
|
||||
aptitude install -y build-essential acl libacl1-dev libcap-dev liblxc1 \
|
||||
libsqlite3-dev libudev-dev libuv1-dev attr autoconf automake \
|
||||
dnsmasq-base git golang libacl1-dev libcap-dev libtool libudev-dev liblz4-dev \
|
||||
libuv1-dev make pkg-config rsync squashfs-tools tar tcl xz-utils ebtables \
|
||||
aptitude install -y lxc-dev libdqlite-dev go-dqlite golang-github-canonical-go-dqlite-dev
|
||||
|
||||
|
||||
wget https://github.com/lxc/lxd/archive/refs/heads/master.zip
|
||||
unzip master.zip
|
||||
cd lxd-master/
|
||||
make deps
|
||||
echo 'export CGO_CFLAGS="-I/root/go/deps/raft/include/ -I/root/go/deps/dqlite/include/"' >> /root/.bashrc
|
||||
echo 'export CGO_LDFLAGS="-L/root/go/deps/raft/.libs -L/root/go/deps/dqlite/.libs/"' >> /root/.bashrc
|
||||
echo 'export LD_LIBRARY_PATH="/root/go/deps/raft/.libs/:/root/go/deps/dqlite/.libs/"' >> /root/.bashrc
|
||||
echo 'export CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)"' >> /root/.bashrc
|
||||
source /root/.bashrc
|
||||
make
|
||||
echo 'export PATH="${PATH}:$(go env GOPATH)/bin"' >> /root/.bashrc
|
||||
echo 'export LD_LIBRARY_PATH="$(go env GOPATH)/deps/dqlite/.libs/:$(go env GOPATH)/deps/raft/.libs/:${LD_LIBRARY_PATH}"' >> /root/.bashrc
|
||||
source /root/.bashrc
|
||||
root@contabob:~/lxd-master# lxd-migrate
|
||||
Please provide LXD server URL: https://ikoulaf.appgv.com:8443
|
||||
Certificate fingerprint: 7843bcb8cb...
|
||||
ok (y/n)? y
|
||||
|
||||
1) Use a certificate token
|
||||
2) Use an existing TLS authentication certificate
|
||||
3) Generate a temporary TLS authentication certificate
|
||||
Please pick an authentication mechanism above: 3
|
||||
|
||||
Your temporary certificate is:
|
||||
-----BEGIN CERTIFICATE-----
|
||||
...
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
It is recommended to have this certificate be manually added to LXD through `lxc config trust add` on the target server.
|
||||
Alternatively you could use a pre-defined trust password to add it remotely (use of a trust password can be a security issue).
|
||||
|
||||
Would you like to use a trust password? [default=no]:
|
||||
Press ENTER after the certificate was added to the remote server:
|
||||
|
||||
Remote LXD server:
|
||||
Hostname: ikoulaf
|
||||
Version: 5.3
|
||||
|
||||
Would you like to create a container (1) or virtual-machine (2)?: 1
|
||||
Name of the new instance: contabob
|
||||
Please provide the path to a root filesystem: /
|
||||
Do you want to add additional filesystem mounts? [default=no]:
|
||||
|
||||
Instance to be created:
|
||||
Name: contabob
|
||||
Project: default
|
||||
Type: container
|
||||
Source: /
|
||||
|
||||
Additional overrides can be applied at this stage:
|
||||
1) Begin the migration with the above configuration
|
||||
2) Override profile list
|
||||
3) Set additional configuration options
|
||||
4) Change instance storage pool or volume size
|
||||
5) Change instance network
|
||||
|
||||
Please pick one of the options above [default=1]:
|
||||
Transferring instance: contabob: 1.39GB (6.05MB/s)
|
||||
```
|
||||
|
||||
```bash
|
||||
dnf makecache --refresh
|
||||
dnf config-manager --set-enabled powertools
|
||||
dnf install epel-release epel-next-release
|
||||
dnf update
|
||||
wget https://github.com/lxc/lxd/archive/refs/heads/master.zip
|
||||
unzip master.zip
|
||||
cd lxd-master/
|
||||
dnf install acl attr autoconf automake dnsmasq git golang libacl-devel libcap-devel lxc-libs lxc-devel sqlite-devel libtool libudev-devel lz4-devel libuv make pkg-config rsync squashfs-tools tar tcl xz ebtables
|
||||
make deps
|
||||
export CGO_CFLAGS="-I/root/go/deps/raft/include/ -I/root/go/deps/dqlite/include/"
|
||||
export CGO_LDFLAGS="-L/root/go/deps/raft/.libs -L/root/go/deps/dqlite/.libs/"
|
||||
export LD_LIBRARY_PATH="/root/go/deps/raft/.libs/:/root/go/deps/dqlite/.libs/"
|
||||
export CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)"
|
||||
source /root/.bashrc
|
||||
cd /root
|
||||
wget https://go.dev/dl/go1.18.1.linux-amd64.tar.gz
|
||||
tar -C /usr/local -xzf go1.18.1.linux-amd64.tar.gz
|
||||
echo 'export PATH=$PATH:/usr/local/go/bin' >> /etc/profile
|
||||
source /root/.bashrc
|
||||
cd /root/lxd-master
|
||||
make
|
||||
echo 'export PATH="${PATH}:$(go env GOPATH)/bin"' >> /root/.bashrc
|
||||
echo 'export LD_LIBRARY_PATH="$(go env GOPATH)/deps/dqlite/.libs/:$(go env GOPATH)/deps/raft/.libs/:${LD_LIBRARY_PATH}"' >> /root/.bashrc
|
||||
source /root/.bashrc
|
||||
firewall-cmd --zone=public --add-port=8443/tcp --permanent
|
||||
systemctl reload firewalld
|
||||
vi ../tempcert
|
||||
lxc config trust add /root/tempcert
|
||||
```
|
Loading…
Reference in New Issue
Block a user