/
noxit
/
otus-linux
Обзор
Документация
Войти
/
noxit
/
otus-linux
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Vagrantfile
109 строк
4 KB
root
Коммитер: GraferNox <sedovkirill@list.ru>
12 авг 2020, 12:33
12 авг 2020, 12:33
f582be2
Код
Авторство
О чём код?
# -*- mode: ruby -*- # vim: set ft=ruby : MACHINES = { :otuslinux => { :box_name => "centos/7", :ip_addr => '192.168.11.101', :disks => { :sata1 => { :dfile => './sata1.vdi', :size => 220, # Megabytes :port => 1 }, :sata2 => { :dfile => './sata2.vdi', :size => 220, :port => 2 }, :sata3 => { :dfile => './sata3.vdi', :size => 220, :port => 3 }, :sata4 => { :dfile => './sata4.vdi', :size => 220, :port => 4 }, :sata5 => { :dfile => './sata5.vdi', :size => 220, :port => 5 }, :sata6 => { :dfile => './sata6.vdi', :size => 220, :port => 6 } } }, } Vagrant.configure("2") do |config| MACHINES.each do |boxname, boxconfig| config.vm.define boxname do |box| box.vm.box = boxconfig[:box_name] box.vm.host_name = boxname.to_s #box.vm.network "forwarded_port", guest: 3260, host: 3260+offset box.vm.network "private_network", ip: boxconfig[:ip_addr] box.vm.provider :virtualbox do |vb| vb.customize ["modifyvm", :id, "--memory", "1024"] needsController = false boxconfig[:disks].each do |dname, dconf| unless File.exist?(dconf[:dfile]) vb.customize ['createhd', '--filename', dconf[:dfile], '--variant', 'Fixed', '--size', dconf[:size]] needsController = true end end if needsController == true vb.customize ["storagectl", :id, "--name", "SATA", "--add", "sata" ] boxconfig[:disks].each do |dname, dconf| vb.customize ['storageattach', :id, '--storagectl', 'SATA', '--port', dconf[:port], '--device', 0, '--type', 'hdd', '--medium', dconf[:dfile]] end end end box.vm.provision "shell", inline: <<-SHELL mkdir -p ~root/.ssh cp ~vagrant/.ssh/auth* ~root/.ssh yum install -y mdadm smartmontools hdparm gdisk # Установка в CentOS sudo yum install mdadm # Зануление суперблоков sudo mdadm --zero-superblock --force /dev/sd{b,c,d,e} # Создание рейда ( -l 5 уровень RAID (RAID5)) (-n 4 колличество дисков (4 диска)) sudo mdadm --create --verbose /dev/md0 -l 5 -n 4 /dev/sd{b,c,d,e} # Ломаем рейд sudo mdadm /dev/md0 --fail /dev/sde # Удаляем сломанный диск sudo mdadm /dev/md0 --remove /dev/sde # Добавляем новый sudo mdadm /dev/md0 --add /dev/sde # Создание GTP разделов и партиций sudo parted -s /dev/md0 mklabel gpt sudo parted /dev/md0 mkpart primary ext4 0% 20% sudo parted /dev/md0 mkpart primary ext4 20% 40% sudo parted /dev/md0 mkpart primary ext4 40% 60% sudo parted /dev/md0 mkpart primary ext4 60% 80% sudo parted /dev/md0 mkpart primary ext4 80% 100% # Создаём файловую систему sudo $ for i in $(seq 1 5); do sudo mkfs.ext4 /dev/md0p$i; done # монтируем по каталогам sudo mkdir -p /raid/part{1,2,3,4,5} sudo for i in $(seq 1 5); do mount /dev/md0p$i /raid/part$i; done SHELL end end end