Mprdb: различия между версиями
Перейти к навигации
Перейти к поиску
Vovan (обсуждение | вклад) (→Автоматический скрипт для запуска из pmagic) |
Vovan (обсуждение | вклад) (→Автоматический скрипт для запуска из pmagic) |
||
| Строка 4: | Строка 4: | ||
<pre> | <pre> | ||
| + | MACHINE_NAME='pve-prdb-01' | ||
DISK='/dev/nvme0n1' | DISK='/dev/nvme0n1' | ||
DISKDIR='/mnt/d' | DISKDIR='/mnt/d' | ||
| Строка 40: | Строка 41: | ||
mount /dev/mapper/pve--vg-root $DISKDIR | mount /dev/mapper/pve--vg-root $DISKDIR | ||
| − | + | # detect ip | |
| − | |||
| − | |||
| − | |||
| − | |||
IP=$(ip a | grep eth0 | tail -1 | awk {'print $2'} | awk -F '/' {'print $1'}) | IP=$(ip a | grep eth0 | tail -1 | awk {'print $2'} | awk -F '/' {'print $1'}) | ||
| + | # replace template config | ||
cd $DISKDIR/opt/node_template_config | cd $DISKDIR/opt/node_template_config | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | rm -r $DISKDIR/var/lib/rrdcached/db/pve2-node/$MACHINE_NAME | |
| − | + | rm -r $DISKDIR/var/lib/rrdcached/db/pve2-storage/$MACHINE_NAME | |
| − | + | mv $DISKDIR/var/lib/rrdcached/db/pve2-node/pve-analise-xx $DISKDIR/var/lib/rrdcached/db/pve2-node/$MACHINE_NAME | |
| − | + | mv $DISKDIR/var/lib/rrdcached/db/pve2-storage/pve-analise-xx $DISKDIR/var/lib/rrdcached/db/pve2-storage/$MACHINE_NAME | |
| − | cd / | + | cd $DISKDIR/ |
| − | tar -xzpf /opt/node_template_config/etc.tgz | + | tar -xzpf $DISKDIR/opt/node_template_config/etc.tgz |
| − | sed -i "s/ | + | sed -i "s/MACHINE_NAME/$MACHINE_NAME/g" $DISKDIR/etc/hosts |
sed -i "s/TEMPLATEIPADDR/$IP/g" /etc/hosts | sed -i "s/TEMPLATEIPADDR/$IP/g" /etc/hosts | ||
| − | sed -i "s/ | + | sed -i "s/MACHINE_NAME/$MACHINE_NAME/g" $DISKDIR/etc/hostname |
| − | sed -i "s/ | + | sed -i "s/MACHINE_NAME/$MACHINE_NAME/g" $DISKDIR/etc/mailname |
| − | sed -i "s/ | + | sed -i "s/MACHINE_NAME/$MACHINE_NAME/g" $DISKDIR/etc/postfix/main.cf |
| − | |||
| − | |||
| − | |||
| − | |||
| + | #reboot | ||
</pre> | </pre> | ||
Версия 13:04, 31 мая 2021
Содержание
Подготовка PVE ноды после клонирования из базового образа
Автоматический скрипт для запуска из pmagic
MACHINE_NAME='pve-prdb-01'
DISK='/dev/nvme0n1'
DISKDIR='/mnt/d'
# fix
gdisk $DISK <<EOF
x
e
w
Y
EOF
# resize lvm partition
gdisk $DISK <<EOF
d
3
n
3
w
Y
EOF
# refresh partitions
partprobe
# resize pv
pvresize "${DISK}p3"
# check rootfs and mount
fsck.ext4 -y /dev/mapper/pve--vg-root
mkdir $DISKDIR
mount /dev/mapper/pve--vg-root $DISKDIR
# detect ip
IP=$(ip a | grep eth0 | tail -1 | awk {'print $2'} | awk -F '/' {'print $1'})
# replace template config
cd $DISKDIR/opt/node_template_config
rm -r $DISKDIR/var/lib/rrdcached/db/pve2-node/$MACHINE_NAME
rm -r $DISKDIR/var/lib/rrdcached/db/pve2-storage/$MACHINE_NAME
mv $DISKDIR/var/lib/rrdcached/db/pve2-node/pve-analise-xx $DISKDIR/var/lib/rrdcached/db/pve2-node/$MACHINE_NAME
mv $DISKDIR/var/lib/rrdcached/db/pve2-storage/pve-analise-xx $DISKDIR/var/lib/rrdcached/db/pve2-storage/$MACHINE_NAME
cd $DISKDIR/
tar -xzpf $DISKDIR/opt/node_template_config/etc.tgz
sed -i "s/MACHINE_NAME/$MACHINE_NAME/g" $DISKDIR/etc/hosts
sed -i "s/TEMPLATEIPADDR/$IP/g" /etc/hosts
sed -i "s/MACHINE_NAME/$MACHINE_NAME/g" $DISKDIR/etc/hostname
sed -i "s/MACHINE_NAME/$MACHINE_NAME/g" $DISKDIR/etc/mailname
sed -i "s/MACHINE_NAME/$MACHINE_NAME/g" $DISKDIR/etc/postfix/main.cf
#reboot
Где лежит базовый образ?
apve3: /mnt/samba/fdisk3/pve-node-template-image.dd
Набор действий (вручную) для настройки одного узла
Всё из-под пользователя
root
Переименовать машину
export NEWNAME='pve-prdb-xx' hostnamectl set-hostname $NEWNAME
, где:
xx
это порядковый номер машины
Подвинуть раздел lvm до конца физического диска
############# # Внимание! # ############# Операции из этого раздела лучше сразу выполнить из partedmagic, чтобы не перезагружаться
Вручную
Запустить gparted и подвинуть раздел с lvm до конца физического диска
Командой
fdisk /dev/nvme0n1 <<EOF d 3 n 3 N w EOF
Далее из под рута дать команды:
lvcreate pve-vg --name vmstorage -L 400g zpool create zfspool /dev/mapper/pve--vg-vmstorage -f zfs set compression=off zfspool zfs set sync=disabled zfspool
/opt/node_template_config/apply_rename.sh ИМЯ_УЗЛА
Пример
/opt/node_template_config/apply_rename.sh pve-analise-01
Или
/opt/node_template_config/apply_rename.sh pve-ml-01
Далее нужно запустить один костыль (костыль №1). Это команда:
systemctl stop pve-cluster systemctl stop corosync pmxcfs -l cp -rp /etc/pve/nodes/pve-analise-xx /etc/pve/nodes/ИМЯ_УЗЛА killall pmxcfs reboot
Внимание! Имя узла должно быть такое же, как в команде переименования!