среда, 27 марта 2024 г.

Перенос почты в Iredmail.

Важно понимать какие квоты определить. Насколько заполенены ящики. Лучше не создавать квоты вообще, разобраться после.

НА СЕРВЕРЕ ПОЧТЫ

1. cd iRedMail-1.6.8/tools

2. Создать одну запись в файл. password обязательно в одинарных кавычках 

bash create_mail_user_SQL.sh admin@domain.ru 'password' > /tmp/users.sql 

3. Чтобы дополнить файл /tmp/users.sql формируем и запускаем скрипт.

#!/bin/sh

bash create_mail_user_SQL.sh    user@domain.ru        'password'     >> /tmp/users.sql;
bash create_mail_user_SQL.sh    user1@domain.ru       'password'     >> /tmp/users.sql;
bash create_mail_user_SQL.sh    user2@domain.ru       'password'     >> /tmp/users.sql; 


4. mysql -uroot -p

sql> USE vmail;

sql> SOURCE /tmp/users.sql; 

создадутся учетки. можно проверить в СУБД и в web почты. Теперь можно переносить почту.


НА МАШИНЕ С Imapsync (промежуточная машина для переноса почты).


1. Формируем файл вида:

172.16.20.49;user@domain.ru;password;172.16.20.5;ert@domain.ru;password;
172.16.20.49;user1@domain.ru;password;172.16.20.5;wem@domain.ru;password;
172.16.20.49;user2@domain.ru;password;172.16.20.5;qan@domain.ru;passwords; 

Важно! Следим что нет пробелов, что все разделено точка с запятой ;
host1;user1_1;password11_1;host2;user2_1;password2_1;   #описание


2. редактируем perenos.sh users.txt - файл сформированный пунком выше его имя users.txt

#!/bin/sh
{ while IFS=';' read h1 u1 p1 h2 u2 p2 fake
do
imapsync --host1 "$h1" --user1 "$u1" --password1 "$p1" \
--host2 "$h2" --user2 "$u2" --password2 "$p2" "$@"
done
} < users.txt

3. Запускаем perenos.sh. imapsync и perenos.sh должны быть в одном каталоге.

https://docs.iredmail.org/sql.create.mail.user.html

пятница, 8 декабря 2023 г.

KVM джентельменский набор команд

 Создание ОС Windows 10:

virt-install -n Win10-test -r 4096 --vcpus=4 \

--arch=x86_64 \

--disk pool=images,size=110,bus=virtio,format=qcow2 \

--disk /kvm/iso/Windows_10_sborka-Luca.iso,device=cdrom \

--disk /kvm/iso/virtio-win-0.1.229.iso,device=cdrom \

--network bridge:br0,model=virtio \

--os-variant=win10 \

--graphics vnc,listen=0.0.0.0,port=5901,password=@dmLuCa \

--boot cdrom,hd,menu=on


Создание ОС Debian:

virt-install \

--name debian_test \

--ram=4096 \

--vcpus=2 \

--arch=x86_64 \

--os-variant=debian11 \

--disk pool=images,size=30,bus=virtio,format=qcow2 \

--disk /kvm/iso/debian-11.0.0-amd64-netinst.iso,device=cdrom \

--network bridge=br0,model=virtio \

--graphics vnc,listen=0.0.0.0,password=@dmLuCa \

--boot cdrom,hd,menu=on 


Создание ОС Ubuntu:

virt-install \

--name timetable \

--ram=8192 \

--vcpus=4 \

--arch=x86_64 \

--os-variant=ubuntu22.04 \

--disk pool=images,size=50,bus=virtio,format=qcow2 \

--disk /kvm/iso/ubuntu-22.04.2-live-server-amd64.iso,device=cdrom \

--network bridge=br0,model=virtio \

--graphics vnc,listen=0.0.0.0,port=5907,password=@dmLuCa \

--boot cdrom,hd,menu=on 


Создание ОС Astra:

virt-install \

--name 1C-BD \

--ram=16384 \

--vcpus=8 \

--arch=x86_64 \

--os-variant=alse17 \

--disk pool=images,size=300,bus=virtio,format=qcow2 \

--disk /kvm/iso/1.7.4-24.04.2023_14.23.iso,device=cdrom \

--network bridge=br0,model=virtio \

--graphics vnc,listen=0.0.0.0,port=5903,password=@dmLuCa \

--boot cdrom,hd,menu=on 


Создание RouterOS:

virt-install \

--name Routeros \

--ram=256 \

--vcpus=1 \

--arch=x86_64 \

--os-variant=debian2.0 \

--graphics vnc,listen=0.0.0.0,port=5905,password=@dmLuCa \

--boot hd \

--disk path=/kvm/images/chr-7.10.2.img \

--network bridge=br2 


Создание Centos:

virt-install \

--name luka-mis \

--ram=48000 \

--vcpus=22 \

--arch=x86_64 \

--os-variant=centos7.0 \

--disk pool=storage_lsi,size=800,bus=virtio,format=qcow2 \

--disk /kvm/iso/CentOS-7-x86_64-Minimal-2009.iso,device=cdrom \

--network bridge=br0,model=virtio \

--graphics vnc,listen=0.0.0.0,port=5906,password=@dmLuCa \

--boot cdrom,hd,menu=on 


Для запуска ОС с использованием UEFI (пример):

<os>

    <type arch='x86_64' machine='pc-q35-7.2'>hvm</type>

    <loader readonly='yes' type='rom'>/usr/share/ovmf/OVMF.fd</loader>

    <boot dev='hd'/>

</os>


конфиг ВМ:

/etc/libvirt/qemu/...


версии ОС:

osinfo-query os


удаление ОС:

virsh list

virsh destroy win10_test2

virsh undefine win10_test2

rm -r /path/to/image


редактировать параметры ВМ в xml:

virsh edit 1C-App


выключить загрузку с boot cd:

<!-- <boot dev='cdrom'/> -->

<!-- <bootmenu enable='yes'/> -->


увеличить объем жесткого диска:

1.остановить ВМ

2.qemu-img resize /kvm/images/Win10-test.qcow2 +5G


увеличить объем ОЗУ, CPU:

virsh edit Win10-test

<topology sockets='1' cores='4' threads='2'/>

</cpu> 

 

Снепшот сделать:

virsh snapshot-create-as --domain Win10-test --name "7.6.23"


Список снепшотов:

virsh snapshot-list --domain Win10-test


Удалить снепшот:

virsh snapshot-delete <vm_name> <snapshot_name>


Возврат к снепшоту:

virsh snapshot-revert --domain Win10-test --snapshotname 7.6.23_2 --running 

virsh snapshot-revert --domain Win10-test --snapshotname 7.6.23_2 --shutoff 


Информация о машине:

virsh dominfo debian_test


Пометить ВМ для автостарта:

virsh autostart Win10-test


Отменить автостарт ВМ:

virsh autostart Win10-test --disable


Приостановить ВМ:

virsh suspend vm_name


Возобновление ВМ:

virsh resume vm_name


добавить сетевой интерфейс:

virsh attach-interface 1C-App --type bridge --source br3 --persistent 


ПРОВЕРКА SMART дисков:

1 cd /opt/MegaRAID/MegaCli

2 ./MegaCli64 -LdPdInfo -aALL | grep Id

3 smartctl -d megaraid,8 -a /dev/sda

  smartctl -d megaraid,4 -a /dev/sda

  smartctl -d megaraid,5 -a /dev/sda  #etc

вывод Device ID дисков:

./MegaCli64 -PDList -aAll | grep Id:

  

Перенос виртуалки с ESXi:

1. scp -r root@172.31.4.204:/vmfs/volumes/5e53a708/migration_test/ /migration

2. qemu-img convert -p -O qcow2  ./migration_test-flat.vmdk  ./migration_test-flat.qcow2

3. создать виртуальную машину с дисками, подменить диски

________________________________________________________

Создать диск:

qemu-img create -f qcow2 /kvm/images/for_tib_with_astra.qcow2 20G


Подключить диск:

virsh attach-disk astra-1.7.3-test --source /kvm/images/for_tib_with_astra.qcow2 --target vdb --persistent --subdriver qcow2


Вывести список поключенных к ВМ дисков:

virsh domblklist astra-1.7.3-test


Отключить диск:

virsh detach-disk --domain luka-mis --target vdb

___________________________________________________________

создание пулов дисков.

смотрим все пулы:

virsh pool-list --all


создаем новый пул:

virsh pool-define-as storage dir --target /kvm_ssd_lsi/images_lsi/


помечаем пул для автостарта:

virsh pool-autostart storage_lsi


Стартуем пул

virsh pool-start storage_lsi


проверяем пул

virsh pool-list –all

--------------------------------------------------------------------------

удаление дисковых пулов

virsh pool-destroy storage_lsi

virsh pool-delete storage_lsi

virsh pool-undefine storage_lsi

смотрим:

virsh pool-list --all

________________________________________________________________________________________


конвертация qcow2 в raw:

выключить машину

сконвертировать диск командой:

qemu-img convert /kvm/images/luka-mis-backups.qcow2 /kvm/images/luka-mis-backups.raw

изменить пути в xml-файле,

включить машину





пятница, 4 августа 2023 г.

Добавить новый iscsi target не перезагружая tgt сервис.

Формируем нужный конфиг (new_target.conf), типа:

<target iqn.2023-01.corp.firma:storage-fs-target>

   backing-store /dev/vg01/lv03

   initiator-address 10.10.12.1

</target>

И подгружаем его командой:

tgt-admin --update ALL -c /etc/tgt/conf.d/new_target.conf

суббота, 26 марта 2022 г.

Запуск Docker внутри LXC контейнера (Debian, Ubuntu).

 1. В конфиге контейнера /var/lib/lxc/name_container/config в низ файла добавляем строки:

lxc.apparmor.profile = unconfined

lxc.cgroup.devices.allow = a

lxc.cap.drop =

2. Подгружаем модули ядра:

modprobe aufs

modprobe overlay

Вносим записи в файл: 

/etc/modules-load.d/modules.conf

чтобы модули загружались после включения:

aufs

overlay

3. Внутри контейнера с установленным Docker создаем файл:

/etc/docker/daemon.json

в который добввляем:

{

  "storage-driver": "overlay2"

}

4.Проверяем работу Docker:

docker run hello-world


вторник, 15 марта 2022 г.

Конвертация vhdx (Hyper-V) в vmdk(ESXi), и не только.

Например для использование в windows. Нужперейти в папку с распакованной программой:

cd C:\users\user\Downloads\qemu-img-win-x64-2_3_0 qemu-img.exe convert -p D:\old_disk.VHDX -O vmdk D:\new_disk.vmdk

где опции -p – показывать прогресс, -O – выходной файл

Скачать можно здесь.

четверг, 17 февраля 2022 г.

Добавление объема в LUN (LVM) отдаваемого в iSCSI target и добавление полученного места в Esxi Storage.

 1. lvextend -L+1Tb /dev/vg01/lv02
Увеличиваем место на один терабайт для нужной области.


2. systemctl restart tgt
Рестартуем iSCSI таргет


3. esxcli storage core adapter rescan --all
Подключаемся по SSH к ESXI, выполняем команду.


4. Затем в web Esxi Storage, выбираем нужный storage делаем rescan, затем Action -> Increase capacity -> Expand an existing VMFS datastore extent ->Выбираем наш IET iSCSI Disk и расширяем место, далее все интуитивно понятно.


Все это можно делать "на лету", не отмонтируя storage, не выключая виртуалки расположенные на нем расположенныe.


И еще: глупо в конфигах и конфигурациях писать емкость storage, как у меня напр. - storage-10Tb.conf, я уже не стал менять названия и содержание файлов во избежание возможных сюрпризов. Короче - емкость storage нужно смотреть по факту, в Esxi в Datastores -Capacity, и в lvdisplay.


пятница, 3 декабря 2021 г.

Ansible

Появилось много ПК с Astra Linux, ими надо как-то рулить, был выбран Ansible.

На управляемом хосте создан пользователь ansible, и помещен в группу sudo.

На узле управления требуется создать пару SSH-ключей

# ssh-keygen

и передать публичный ключ на управляемый хост

# ssh-copy-id ansible@managed-host

cat /etc/ansible/hosts

[corp:vars]

ansible_sudo_pass=strongpass

ansible_become=yes

ansible_become_method=sudo

ansible_user=ansible


[corp]

astra1.corp.ru

astra2.corp.ru

Плэйбуки для тестов:

cat /root/anisble-workspace/apt.yaml
---
- hosts: all
  become: true
  become_user: root
  tasks:
  - name: Update and upgrade apt packages
    apt:
      upgrade: yes
      update_cache: yes
      cache_valid_time: 86400


cat /root/anisble-workspace/reboot.yaml
---
- hosts: all
  become: true
  become_user: root
  tasks:
          - name: Rebooting the cloud server/bare metal box
            reboot:

Проверяем работу плейбуков:
cd /root/anisble-workspace

ansible-playbook test.yaml
ansible-playbook apt.yaml