Пропал RAID

Если после перезагрузки вы не видите Ваш рейд-массив то проведите сканирование:
mdadm –detail –scan
mdadm –examine –scan

Добавьте его в файл конфига:
nano /etc/mdadm/mdadm.conf
Перезагрузите сервер.

Создание RAID массива на работающем сервере.

0. В наличие 5 дисков WD Black по 4Тб.

1. Проверяем их названия в системе через веб-интерфейс ProxMox

Либо командой fdisk -l
root@pve01:~# fdisk -l
Disk /dev/sda: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Disk /dev/sdb: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors

Disk /dev/sdc: 5.5 TiB, 6001175126016 bytes, 11721045168 sectors
Disk /dev/sdd: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Disk /dev/sde: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Disk /dev/sdf: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors

Disk /dev/sdg: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Disk /dev/sdh: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
2. Делаем разметку диска первого диска для рейда командой: cfdisk /dev/sda
Select label type gpt

Создаем новый раздел на всю область диска, ставим тип Linux RAID, записываем изменения, видим запись об успешной разметке – The partition table has been altered, выходим.
3. Для того чтоб не проделывать аналогичную процедуру для других дисков выполним команду
sfdisk -d /dev/sda | sfdisk /dev/sdb
sfdisk -d /dev/sda | sfdisk /dev/sdd
sfdisk -d /dev/sda | sfdisk /dev/sde
sfdisk -d /dev/sda | sfdisk /dev/sdf

root@pve01:~# sfdisk -d /dev/sda | sfdisk /dev/sdb
sfdisk: Checking that no-one is using this disk right now …
sfdisk: OK

Disk /dev/sdb: 486401 cylinders, 255 heads, 63 sectors/track
sfdisk: /dev/sdb: unrecognized partition table type
Old situation:
sfdisk: No partitions found
New situation:
Units: sectors of 512 bytes, counting from 0

Device Boot Start End #sectors Id System
/dev/sdb1 1 4294967295 4294967295 ee GPT
/dev/sdb2 0 – 0 0 Empty
/dev/sdb3 0 – 0 0 Empty
/dev/sdb4 0 – 0 0 Empty
sfdisk: Warning: partition 1 does not end at a cylinder boundary
sfdisk: Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Successfully wrote the new partition table

Re-reading the partition table …

sfdisk: If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Проверяем командой df -h, если разделы не создались или создались некорректно переразмечиваем в ручную каждый cfdisk /dev/sdX.
Затираем диск dd if=/dev/zero of=/dev/sdX bs=1024k
Отменить можно после нескольких минут командой Ctrl+C, нам нужно только начало диска стереть.
Создаем новые разделы cfdisk /dev/sdb

3. Используем утилиту mdadm для создания рейда.
Ключ –create (краткая форма -C) – режим создания. –verbose вывод всего происходящего на экран.
После этого ключа указывается имя создаваемого RAID-устройства. /dev/md3 так как у нас уже емелись 0,1,2 под загрузчик, swap и рам раздел линукса.
Ключ –level=5 определяет уровень RAID-массива. Ключ –raid-devices=5 определяет количество устройств-компонентов в создаваемом RAID-массиве. Завершает командную строку список устройств, из которых будет сформирован RAID-массив.

root@pve01:~# mdadm –create –verbose /dev/md3 –level=5 \
> –raid-devices=5 /dev/sda1 /dev/sdb1 /dev/sdd1 /dev/sde1 /dev/sdf1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 3906886144K
mdadm: automatically enabling write-intent bitmap on large array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md3 started.

Командой fdisk -l проверяем наличие разделов.
Disk /dev/md3: 14.6 TiB, 16002605645824 bytes, 31255089152 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 524288 bytes / 2097152 bytes

Проверка и удаления заблокированых IP адресов Asterics

Проверка:
[root@localhost ~]# iptables -L -v -n
Chain INPUT (policy ACCEPT 128K packets, 8560K bytes)
pkts bytes target prot opt in out source destination
2450M 161G fail2ban-ASTERISK all — * * 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 29064 packets, 3860K bytes)
pkts bytes target prot opt in out source destination

Chain fail2ban-ASTERISK (1 references)
pkts bytes target prot opt in out source destination
41 28382 DROP all — * * 192.168.99.13 0.0.0.0/0

Удаление:
[root@localhost ~]# iptables -D fail2ban-ASTERISK 1

Создание SSH ключей.

Все команды выполняются с аккаунта пользователя.

1. Создайте директорию .ssh для пользователя и установите права 700
mkdir /home/userdeltahost/.ssh/
chmod 700 /home/userdeltahost/.ssh/

2.Создайте SSH ключ и сохраните файлы в надежное место:
ssh-keygen -t dsa -b 1024 -f /home/userdeltahost/.ssh/id_dsa

3. Переименуйте публичный ключ id_dsa.pub в authorized_keys (либо скопируйте cat /home/userdeltahost/.ssh/id_dsa.pub >> /home/userdeltahost/.ssh/authorized_keys), укажите права 600 на файл /home/userdeltahost/.ssh/authorized_keys и снимаем комментарии в конфиге /etc/ssh/sshd_config с строк
RSAAuthentication yes
PubkeyAuthentication yes
dden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys

4. С помощью puttygen.exe откройте приватный ключ puttygen.exe и сохраните ppk файл для Windows
Запустите с помощью putty agent ppk файл

5. Заходите через FileZilla либо WinCP.

Установка Windows 7 через PXE boot c *nix сервера

Сама статья взята с хабра https://habrahabr.ru/sandbox/30865/ и полностью рабочая, но была проблема с драйверами для сетевой карты.

Для начала установим необходимую ос на виртуалку или любой ПК.
Создадим PXE образ. Для этого нам потребуется Набор автоматической установки Windows® (AIK) для Windows®7.
Работает на платформе Windows 7 и Windows Server 2008 (R2).
После установки открываем в пуске с правами администратора: Все программы -> Microsoft Windows AIK -> Командная строка средств развертывания с правами Администратора, и начинаем собирать образ.

copype.cmd x86 d:\winpe
именно x86 несмотря на то, что планируем ставить х86 и существует меню amd64.

imagex /mountrw winpe.wim 1 mount
Теперь, для автоматической установки, в примонтированной папке d:\winpe редактируем файл Windows\system32\startnet.cmd:

wpeinit
net use y: \\192.168.2.86\iso-seven
if exist y:\sources\setup.exe (
y:
cd \sources
setup.exe
)

Самба сервер доступен для скачивания в гостевом режиме поэтому никаких параметров пользователя мы не задавали, при необходимости заменить на net use y: \\192.168.х.х\директория-образа /user:пользователь пароль

imagex.exe /unmount /commit mount

Теперь извлечем ядро и необходимые файлы для загрузки образа:

imagex /mount d:\winpe\winpe.wim 1 d:\winpe\mount
xcopy /ey d:\winpe\mount\windows\boot\pxe d:\tftp
xcopy /iy d:\winpe\mount\windows\boot\fonts d:\tftp\Boot\fonts
copy /y d:\winpe\ISO\boot\boot.sdi d:\tftp\Boot
imagex.exe /unmount d:\winpe\mount

Копируем сам образ в папку Boot
copy /y d:\winpe\winpe.wim d:\tftp\Boot

Прошу обратить внимание на то что папка Boot с большой буквы(Важно).
Теперь создаем «Скрипт» d:\winpe\createbcd.cmd
bcdedit -createstore %1\BCD
bcdedit -store %1\BCD -create {ramdiskoptions} /d “Ramdisk options”
bcdedit -store %1\BCD -set {ramdiskoptions} ramdisksdidevice boot
bcdedit -store %1\BCD -set {ramdiskoptions} ramdisksdipath \boot\boot.sdi
for /F “tokens=2” %%i in (‘bcdedit -store %1\BCD -create /d “MyWinPE Boot Image” /application osloader’) do set guid=%%i
bcdedit -store %1\BCD -set %guid% systemroot \Windows
bcdedit -store %1\BCD -set %guid% detecthal Yes
bcdedit -store %1\BCD -set %guid% winpe Yes
bcdedit -store %1\BCD -set %guid% osdevice ramdisk=[boot]\Boot\winpe.wim,{ramdiskoptions}
bcdedit -store %1\BCD -set %guid% device ramdisk=[boot]\Boot\winpe.wim,{ramdiskoptions}
bcdedit -store %1\BCD -create {bootmgr} /d “Windows VISTA BootManager”
bcdedit -store %1\BCD -set {bootmgr} timeout 30
bcdedit -store %1\BCD -set {bootmgr} displayorder %guid%

И запускаем его:
createbcd.cmd d:\tftp\boot

Образ готов, устанавливается через самбу с PXE сервера.
Настройка samba

Есть 2 варианта:
1)Скопировать папку sources с установочного диска в /var/seven (Необязательно в /var)
2)Примонтировать образ
mkdir /var/seven
sudo mount –o loop win7.iso /var/seven/
И зашариваем саму папку /var/seven в файле /etc/samba/smb.conf

[seven]
path = /srv/tftp/seven
browseable = yes
read only = yes
guest ok = yes
Перезагружаем службы:
sudo /etc/init.d/dhcp3-server restart
sudo /etc/init.d/tftpd-hpa restart
sudo /etc/init.d/smbd restart
Готово, можем устанавливать Windows 7 с сети.
Если возникнут какието проблемы, можно их увидеть в:
sudo tail –f /var/log/syslog

___________________
При установке на виртуалку все было прекрасно, но при попытке настроить ноутбук выдало “ошибка 1231 сетевая папка недоступна” при попытке смонтировать нашу сетевую папку.
Как оказалось ноутбук не видел сеть.

Для решения проблемы необходимо скачать драйвера на сетевую плату для нужного нам ноутбука и прошить их в наш образ .vim в той же консоле.

mkdir c:\mount
dism /Cleanup-Wim
dism /Mount-Wim /WimFile:G:\winpe\winpe.wim /index:1 /MountDir:C:\mount
dism /image:C:\mount /add-driver /driver:”G:\drivers\win8\x64″ /recurse /forceunsigned
dism /Unmount-Wim /MountDir:C:\mount /Commit

После чего сетевая загрузка Windows 7 доступна.

IMG_20170216_124710

Сетевая установка PXE boot c *nix сервера

Для использования подойдет любая операционная система.
Использовали Debian 7.
root@debian:~# more /etc/debian_version
7.11

1. Установка и настройка TFTP Сервера:
Ставим tFtp сервер.
sudo apt-get install tftpd-hpa
Редактируем конфиг
sudo nano /etc/default/tftpd-hpa

# /etc/default/tftpd-hpa
TFTP_USERNAME=”tftp”
TFTP_DIRECTORY=”/var/lib/tftpboot”
TFTP_ADDRESS=”0.0.0.0:69″
TFTP_OPTIONS=”–secure -m /var/lib/tftpboot/tftp-remap -v”

Создаем файл sudo nano /var/lib/tftpboot/tftp-remap
с содержимым автозамен для установки Windows:
r bootmgr.exe /seven/bootmgr.exe
r abortpxe.com /seven/abortpxe.com
r hdlscom1.com /seven/hdlscom1.com
r hdlscom1.n12 /seven/hdlscom1.n12
r hdlscom2.com /seven/hdlscom2.com
r hdlscom2.n12 /seven/hdlscom2.n12
r pxeboot.com /seven/pxeboot.com
r pxeboot.n12 /seven/pxeboot.n12
r WdsConfig.inf /seven/WdsConfig.inf
r wdsnbp.com /seven/wdsnbp.com
r \\Boot\\BCD seven/Boot/BCD
r \\boot\\boot.sdi seven/Boot/boot.sdi
r \\Boot\\winpe.wim seven/Boot/winpe.wim

2. Создаем наше PXE меню.
Качаем архив syslinux. Скачиваем последнюю версию и изымаем pxelinux.0, chain.c32, menu.c32:

# wget http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.04.tar.bz2
# tar xf syslinux-4.04.tar.bz2
# cp syslinux-4.04/core/pxelinux.0 /srv/tftp/

либо руками качаем с https://www.kernel.org/pub/linux/utils/boot/syslinux/
Файлы находятся в директориях:
syslinux-4.04\core\pxelinux.0
syslinux-4.04\com32\modules\chain.c32
syslinux-4.04\com32\menu\menu.c32

Эти три файла грузим в наш корень tftp сервера /var/lib/tftpboot

создаем наше меню /var/lib/tftpboot/pxelinux.cfg/default
содержимое:

ui menu.c32
PROMPT 0
menu background background.png
menu title PXE boot menu

LABEL bootlocal
menu label Boot from first HDD
kernel chain.c32
append hd0 0
timeout 120000
TEXT HELP
The system will boot after time is up.
ENDTEXT

LABEL Windows ->
KERNEL menu.c32
APPEND pxelinux.cfg/windows

LABEL Linux ->
KERNEL menu.c32
APPEND pxelinux.cfg/linux

LABEL FreeBSD ->
KERNEL menu.c32
APPEND pxelinux.cfg/bsd

LABEL HDD and RAM utils ->
KERNEL menu.c32
APPEND pxelinux.cfg/du

LABEL LiveCDs ->
KERNEL menu.c32
APPEND pxelinux.cfg/livecds

LABEL Antiviruses ->
KERNEL menu.c32
APPEND pxelinux.cfg/av

создаем меню Windows /var/lib/tftpboot/pxelinux.cfg/windows
PROMPT 0
UI samenu.c32
menu background background.png
MENU TITLE Windows

LABEL <- Main Menu KERNEL menu.c32 APPEND pxelinux.cfg/default LABEL Windows 10 (x32/x64) kernel ten/pxeboot.0 LABEL Windows 7 (x32/x64) kernel seven/pxeboot.0 LABEL Windows XP kernel xp/pxeboot.0 LABEL <- Main Menu KERNEL menu.c32 APPEND pxelinux.cfg/defaul
и т.д.

На этом PXE меню готово так как у нас отдельный DHCP сервер, если такового нет дополнительно нужно его установить.

IMG_20170216_124631

Теперь добавим разные способы установки.
Samba описана в статье для сетевой установки Windows 7

Доступ по протоколу http, устанавливаем apache
aptitude install apache2
Редактируем конфиг:
nano /etc/apache2/sites-enabled/000-default
и указываем корень к нашим смонтированным OS /var/lib/tftpboot/images к примеру.
Перезагружаем apache
service apache2 restart

Редактируем fstab nano /etc/fstab и дописываем туда наши ISO

/var/lib/tftpboot/iso/win7/win7.iso /var/lib/tftpboot/iso-seven udf,iso9660 user,loop 0 0
/var/lib/tftpboot/iso/Mint/linuxmint-18.1-mate-32bit.iso /var/lib/tftpboot/images/mint/linuxmint-18.1-mate-32bit udf,iso9660 user,loop 0 0
/var/lib/tftpboot/iso/CentOS/CentOS-7-i386-DVD-1511.iso /var/lib/tftpboot/images/centos/CentOS-7-i386-DVD-1511 udf,iso9660 user,loop 0 0

Ставим NFS
aptitude install nfs-kernel-server
nano /etc/exports

# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/var/lib/tftpboot/images/mint/linuxmint-18.1-mate-32bit *(ro,sync,no_wdelay,insecure_locks,no_root_squash,insecure)
/var/lib/tftpboot/images/centos/CentOS-7-i386-DVD-1511 *(ro,sync,no_wdelay,insecure_locks,no_root_squash,insecure)

Запускаем: /etc/init.d/nfs-kernel-server start

/dev/mapper/VolGroup-lv_root contains a file system with errors, check forced и решение проблемы.

Если при загрузке системы вы видите: 122Грузимся с LiveCD по очереди выполняем три команды:

# lvscan
ACTIVE ‘/dev/VolGroup/LogVol00’ [999.00 GiB] inherit

Активируем логический том с которым имеется проблема:
#lvchange -ay “yourLogicalVolume”

Запускаем fsck на логическим диске:
#e2fsck -y /YourLogicalVolume

Пример:
clip2net_161210114331

Убрать ввод пароля KeyRing (gnome-keyring)

clip2net_161118111602
Для удаления необходимо изменить пароль на пустой. Стандартный пароль соответствует паролю пользователя.
Заходим в меню (либо ALT+F2) и в поиске вводим “seahorse
Если ничего не находит устанавливаем:
sudo apt-get install seahorse
Повторно нажимаем ALT+F2 вводим seahorse , Enter.
___________________________________________
Если не установилось:
Команда для локального импорта (для внутреннего репозитория)# wget http://192.168.2.86/pub/seahorse_3.18.0-2ubuntu1_i386.deb
Установка# dpkg -i seahorse_3.18.0-2ubuntu1_i386.deb
Ссылка на файл при необходимости http://ubuntu-mirror.telesys.org.ua/ubuntu/pool/main/s/seahorse/seahorse_3.18.0-2ubuntu1_i386.deb
___________________________________________
Жмем правой кнопкой мышки на Login -> Изменить пароль
2
Вводим текущий пароль и оставляем пустые поля для нового пароля. Соглашаемся (Ждем далее), Перезагружаем устройство.
3
___________________________________________
Если gnome-keyring был удален – устанавливаем повторно: sudo apt-get install gnome-keyring
(локально wget http://192.168.2.86/pub/gnome-keyring_3.18.3-0ubuntu2_i386.deb )
dpkg -i gnome-keyring_3.18.3-0ubuntu2_i386.deb