Lab155Alt
Порядок клонирования
Зайти на apve3 по ssh и выполнить копирование через dd по сети образа:
apve3: /mnt/samba/fdisk3/alt-edu-pve-template-70g.dd
В это время машина назначения должна быть загружена в Pmagick. Предположим, что накопитель, на который должен быть развёрнут образ, называется /dev/sda
. Тогда, если машина назначения, например, имеет адрес 172.16.155.1, команда развёртывания на неё dd-образа (команду давать из apve3) будет такой:
dd if=/mnt/samba/fdisk3/alt-edu-pve-template-70g.dd bs=4M | ssh root@172.16.155.1 /bin/dd of=/dev/sda bs=4M
где bs
задаёт размер блока (в данном случае, 4 мегабайта.)
Так нужно развернуть одну машину. Остальные -- широковещательным клонированием в пределах компьютерного класса через g4l
Настройка после клонирования образа на базе AltEduPve
Задать переменную с именем диска
Имя диска зависит от аппаратной конфигурации (определяется через fdisk -l
)
Обычно
DISK='/dev/sda'
Задать переменную с именем сетевого интерфейса для моста
Зависит от аппаратной конфигурации (определяется через ip a)
Обычно
MACHINE_ETH_DEVICE='eth0'
Задать переменные для настройки сети согласно позиции машины в классе
MACHINE_NAME='alt-edu-pve-lab155-01' MACHINE_IP='172.16.155.1' MACHINE_MASK='16' MACHINE_GATEWAY='172.16.1.1' MACHINE_DNS='172.16.1.1'
Выполнить скрипт из partedmagic
Удаляем второй раздел (тот, что с LVM) с накопителя, и создаём вместо него новый, по размеру накопителя. Например, если у нас расклонированный накопитель /dev/sda
, то значит, мы пересоздаём /dev/sda2
:
fdisk $DISK <<EOF d 2 n p 2 N w EOF
Меняем размер физического раздела LVM. В нашем случае раздел называется /dev/sda2
:
pvresize "${DISK}2" vgchange -ay
mkdir /mnt/d mount /dev/alt-vg/root /mnt/d IP=$MACHINE_IP HOST=$MACHINE_NAME echo "127.0.0.1 localhost" > /mnt/d/etc/hosts echo "$IP $HOST.nntc.nnov.ru $HOST" >> /mnt/d/etc/hosts echo "$HOST" > /mnt/d/etc/hostname rm -rf /mnt/d/etc/net/ifaces/* mkdir /mnt/d/etc/net/ifaces/vmbr0 cat << EOF > /mnt/d/etc/net/ifaces/vmbr0/options TYPE=bri VLAN_AWARE=yes VIDS=2-2048 ONBOOT=yes DISABLED=no NM_CONTROLLED=no CONFIG_WIRELESS=no CONFIG_IPV4=yes CONFIG_IPV6=no BOOTPROTO=static HOST="$MACHINE_ETH_DEVICE" EOF cat << EOF > /mnt/d/etc/sysconfig/network # When set to no, this may cause most daemons' initscripts skip starting. NETWORKING=yes # Used by hotplug/pcmcia/ifplugd scripts to detect current network config # subsystem. CONFMETHOD=etcnet # Used by rc.sysinit to setup system hostname at boot. HOSTNAME=$HOST # This is used by ALTLinux ppp-common to decide if we want to install # nameserver lines into /etc/resolv.conf or not. RESOLV_MODS=yes EOF echo "$MACHINE_IP/$MACHINE_MASK" > /mnt/d/etc/net/ifaces/vmbr0/ipv4address echo "default via $MACHINE_GATEWAY" > /mnt/d/etc/net/ifaces/vmbr0/ipv4route echo "nameserver $MACHINE_GATEWAY" > /mnt/d/etc/net/ifaces/vmbr0/resolve.conf reboot
Выполнить скрипт уже из pve, подключившись в рута по ssh
apt-get install -y firefox rpm -e chromium-disable-webfonts
vgchange -ay
lvcreate -y alt-vg --name vmstorage -L 400g zpool create zfspool /dev/alt-vg/vmstorage -f zfs set compression=off zfspool zfs set sync=disabled zfspool
mkdir /zfspool/storage chown storage:storage /zfspool/storage -R
pvesm add zfspool vmstorage --pool zfspool --content images,rootdir
pvesm add cifs pveshare --server 172.16.254.123 --share mcluster1 --username mcluster1 --password --content iso,backup