Lab155Alt

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску

Порядок клонирования

Зайти на 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

Как можно видеть, второй раздел накопителя (sda2) меньше, чем размер накопителя:

$ fdisk -l
Disk /dev/sda: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: Samsung SSD 860 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x26b09aef

Device     Boot   Start       End   Sectors  Size Id Type
/dev/sda1          2048   2097151   2095104 1023M 83 Linux
/dev/sda2       2097152 146800639 144703488   69G 8e Linux LVM

...

Растягиваем второй раздел до размера накопителя:

$ parted /dev/sda
(parted) resizepart
Partition number? 2                                                       
End?  [75.2GB]? 464GB                                                     
(parted) p                                                                
Model: ATA Samsung SSD 860 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1074MB  1073MB  primary  ext4
 2      1074MB  464GB   463GB   primary               lvm


Меняем размер физического раздела LVM. В нашем случае раздел называется /dev/sda2:

pvresize "/dev/sda2"
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