Mprdb
Версия от 14:01, 31 мая 2021; Vovan (обсуждение | вклад) (→Автоматический скрипт для запуска из pmagic)
Содержание
Подготовка 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"
# rescan volume groups
vgchange -ay
# create lvm and zfs pool in this
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
# 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
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
mv $DISKDIR/etc/pve/nodes/pve-analise-xx $DISKDIR/etc/pve/nodes/$MACHINE_NAME
cd $DISKDIR/
tar -xzpf $DISKDIR/opt/node_template_config/etc.tgz
sed -i "s/TEMPLATENAME/$MACHINE_NAME/g" $DISKDIR/etc/hosts
sed -i "s/TEMPLATEIPADDR/$IP/g" $DISKDIR/etc/hosts
sed -i "s/TEMPLATENAME/$MACHINE_NAME/g" $DISKDIR/etc/hostname
sed -i "s/TEMPLATENAME/$MACHINE_NAME/g" $DISKDIR/etc/mailname
sed -i "s/TEMPLATENAME/$MACHINE_NAME/g" $DISKDIR/etc/postfix/main.cf
cd /
umount $DISKDIR
reboot
Доустановить и настроить SAMBA
rm /mnt/pve/pveshare/prdb
apt-get install samba adduser storage smbpasswd -a storage smbpasswd -e storage
mkdir /mnt/pve/pveshare/storage chown storage:storage /mnt/pve/pveshare/storage -R
положить это в
/etc/samba/smb.conf
# Global parameters
[global]
log file = /var/log/samba/log.%m
logging = file
map to guest = Bad User
max log size = 1000
obey pam restrictions = Yes
pam password change = Yes
panic action = /usr/share/samba/panic-action %d
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
passwd program = /usr/bin/passwd %u
server role = standalone server
server string = %h server (Samba, Ubuntu)
unix password sync = Yes
usershare allow guests = Yes
idmap config * : backend = tdb
[storage]
browseable = Yes
comment = storage
valid users = storage
create mask = 0755
directory mask = 0755
path = /mnt/pve/pveshare/storage
read only = No
veto files = /._*/.DS_Store/.T*/Thumbs.db/Network Trash Folder/Temporary Items/*.exe/*.bat/*.msi
delete veto files = yes
Где лежит базовый образ?
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
Внимание! Имя узла должно быть такое же, как в команде переименования!