Заглавная Обсуждение
Читать Просмотр кода История

3.1. GNOME Область рабочего стола

ALT Linux

⁠Глава 26. Рабочий стол GNOME

26.1. GNOME: Область рабочего стола

26.2. Панель GNOME

26.3. Запуск приложений

Рабочий стол GNOME

На рабочем столе GNOME есть две особые области:

  • область рабочего стола (рабочая площадь в центре, занимающая большую часть экрана);

  • панель GNOME (полоса внизу экрана).

⁠26.1. GNOME: Область рабочего стола

В области рабочего стола отображается содержимое папки Рабочий стол. По умолчанию в области рабочего стола расположен значок Домашняя папка, который предоставляет доступ к домашнему каталогу пользователя /home/<имя пользователя>. В этой папке по умолчанию хранятся пользовательские файлы (например, аудиозаписи, видеозаписи, документы). Домашняя папка есть у каждого пользователя системы, и по умолчанию содержащиеся в ней файлы недоступны для других пользователей (даже для чтения).

На область рабочего стола можно перетащить файлы и создать ярлыки программ.

Чтобы перенести виртуальную машину с ОС Альт Сервер 10 в Кибер Инфраструктуру из среды Hyper-V, выполните следующие действия:

Если внутри виртуальной машины используется LVM, выполняйте восстановление согласно инструкции.

  1. На исходной машине, работающей в Hyper-V, измените файл /etc/initrd.mk.
    Добавьте строку MODULES_LOAD с указанными ниже модулями:
[root@host-83 ~]# vim /etc/initrd.mk  
AUTODETECT = all  
MODULES_LOAD =virtio virtio_scsi virtio_net virtio_pci libata ata_piix ata_generic scsi_dh_emc scsi_dh_alua scsi_dh_rdac dm_multipath sd_mod pata_acpi
  1. Сохраните файл.

  2. Выполните команду make-initrd.

  3. Убедитесь, что модули, указанные в файле, вошли в загрузочный образ.

  1. Выполните резервное копирование виртуальной машины.

6.  Чтобы исходная машина сохранила загружаемость, на исходной машине в среде Hyper-V измените файл /etc/initrd.mk.
Удалите строку:

MODULES_LOAD =virtio virtio_scsi virtio_net virtio_pci libata ata_piix ata_generic scsi_dh_emc scsi_dh_alua scsi_dh_rdac dm_multipath sd_mod pata_acpi

  1. Выполните команду make-initrd.

  2. Убедитесь, что модули в загрузочном образе соответствуют указанным на скриншоте:

  1. Восстановите виртуальную машину в Кибер Инфраструктуре.


10. Проверьте загрузку виртуальной машины.

mkdir -p /home/altlinux/Projects/Project_01
mkdir /home/altlinux/Projects/Project_01/terraform
cd /home/altlinux/Projects/
vim cloudinit.conf
export OS_AUTH_URL=https://192.168.26.112:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_AUTH_TYPE=password
export OS_PROJECT_DOMAIN_NAME=Region2026
export OS_USER_DOMAIN_NAME=Region2026
export OS_PROJECT_NAME=Project1
export OS_USERNAME=user1
export OS_PASSWORD=P@ssw0rd

488: Как узнать IP-адрес оконечной точки идентификации OpenStack

Продукт:

Кибер Инфраструктура

Последнее обновление:

10/8/25

Описание статьи:

Инструкция, как узнать IP-адрес оконечной точки идентификации OpenStack

Задача

Необходимо узнать IP-адрес оконечной точки идентификации OpenStack для подключения Кибер VDI или виртуального устройства Кибер Бэкапа.

Решение

Узнать IP-адрес оконечной точки идентификации можно из вывода команды:

openstack --insecure endpoint list --interface public -f json | jq .[] | grep identity -A 1

Команду необходимо выполнять на узле с ролью Панель администратора. Узнать, какой узел обладает этой ролью, можно с помощью команды:

vinfra node list

У требуемого узла значение параметра is_primary будет равно True.

Если команда выполняется с ошибкой

Missing value auth-url required for auth plugin password

Выполните подключение к интерфейсу командной строки OpenStack в соответствии с инструкцией (пункты 1–4).

Failed to discover available identity versions when contacting https://10.77.154.244:5000/v3. Attempting to parse version from URL.  
Request to https://10.77.154.244:5000/v3/auth/tokens timed out

Убедитесь, что выполняете команду на узле с ролью Панель администратора (см. выше).

source cloudinit.conf
#проверка
openstack --insecure server list
openstack --insecure network list
vim ~/.terraformrc
provider_installation {
    network_mirror {
        url = "https://terraform-mirror.mcs.mail.ru"
        include = ["registry.terraform.io/*/*"]
    }
    direct {
        exclude = ["registry.terraform.io/*/*"]
    }
}

cd Project_01/terraform/
vim provider.tf
terraform {
  required_providers {
    openstack = {
      source  = "terraform-provider-openstack/openstack"
      version = "2.1.0"
    }
  }
}

provider "openstack" {
  auth_url    = "https://192.168.26.112:5000/v3"
  tenant_name = "Project1"
  user_name   = "user1"
  password    = "P@ssw0rd"
  insecure    = true
}


terraform init

ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub > /home/altlinux/Projects/Project_01/terraform/cloud-init.yml

Способ 1: через панель администратора

URL панели администратора: https://<IP-адрес узла управления>:8888

Эта панель позволяет управлять кластером и настраивать SSH-соединения с ним.

Чтобы разрешить инженерам службы технической поддержки Киберпротекта удаленный доступ к панели администратора, убедитесь, что TCP-порт 8888 открыт для IP-адреса узла управления или виртуального IP-адреса высокой доступности.

Рекомендуется создать в панели администратора отдельную учетную запись с административными привилегиями (cyberprotect_support) для инженеров службы технической поддержки Киберпротекта. Чтобы это сделать, перейдите в Настройки → Проекты и пользователи → Default, нажмите Создать пользователя, а затем выберите для новой учетной записи роль Системный администратор и укажите Все права в разделе Набор системных ролей. Вставьте пароль учетной записи в текстовый документ, упакуйте его в зашифрованный ZIP-архив с использованием пароля, отвечающего требованиям вашей политики ИБ, и отправьте этот архив в службу поддержки Киберпротекта.

Способ 2: через SSH

Доступ по SSH требуется для устранения неполадок и анализа журналов в процессе устранения проблем с Кибер Инфраструктурой.

Необходимо внести IP-адреса Киберпротекта в белый список для доступа к узлу управления через TCP-порт 22 (или другой используемый порт) и добавить ключи OpenSSH, отправленные инженерами службы поддержки Киберпротекта, в разделе Настройки → Системные настройки → SSH-ключи панели администратора.

Для отправки учетных данных вашего кластера используйте зашифрованный ZIP-архив, как описано выше для способа 1.

Закрытие удаленного доступа

После устранения неполадок и решения проблем отключите удаленный доступ и удалите учетные записи, созданные для инженеров службы поддержки Киберпротекта:

  1. В панели администратора перейдите в Настройки → Проекты и пользователи и удалите учетную запись cyberprotect_support.
  2. В панели администратора перейдите в Настройки → Системные настройки → SSH-ключи и удалите SSH-ключи, как описано в документации.
  3. Закройте все порты, указанные выше.

vim cloud-init.yml
#cloud-config

ssh_pwauth: false

users:
  - default
  - name: altlinux
    sudo: ALL=(ALL) NOPASSWD:ALL
    groups: wheel
    shell: /bin/bash
    ssh_authorized_keys:
      - "ssh-rsa <СОДЕРЖИМОЕ_ПУБЛИЧНОГО_КЛЮЧА_SSH> user@host"

chpasswd:
  expire: false
  list: |
    altlinux:P@ssw0rd
    root:toor


openstack --insecure flavor list //значение(1024RAM 1vCPU) flavor_id
openstack --insecure image list //значение(alt-p11-cloud-x86_64.qcow2) uuid
vim vm-game.tf
resource "openstack_compute_instance_v2" "game" {
  count     = "3"
  name      = "game0${count.index + 1}"
  flavor_id = "03bf1b85-2f5f-4ada-a07b-8b994b6dcb57"
  user_data = file("cloud-init.yml")

  block_device {
    uuid                  = "827e08fa-fd3c-41cd-92ca-845bb5018478"
    source_type           = "image"
    volume_size           = "10"
    boot_index            = 0
    destination_type      = "volume"
    delete_on_termination = true
  }

  network {
    port = openstack_networking_port_v2.port_vm_game[count.index].id
  }
}

vim  ~/Projects/Project_01/terraform/vm-haproxy01.tf 
resource "openstack_compute_instance_v2" "haproxy" {
  name            = "haproxy01"
  flavor_id       = "03bf1b85-2f5f-4ada-a07b-8b994b6dcb57"
  user_data       = file("cloud-init.yml")

  block_device {
    uuid                  = "827e08fa-fd3c-41cd-92ca-845bb5018478"
    source_type           = "image"
    volume_size           = "10"
    boot_index            = 0
    destination_type      = "volume"
    delete_on_termination = true
  }

  network {
    port = openstack_networking_port_v2.haproxy.id
  }
}

Проблема

У вас развернута Кибер Инфраструктура со службой Вычисления.

Вы хотите создавать моментальные снимки виртуальных машин, управляемых службой Вычисления, и иметь возможность восстанавливать состояние виртуальных машин. Штатными средствами Кибер Инфраструктуры можно создавать только моментальные снимки томов.

Решение

Вы можете создавать моментальные снимки виртуальных машин инструментами гипервизора KVM.

Подготовка к работе с моментальными снимками виртуальных машин

Для работы с моментальными снимками виртуальных машин необходимо иметь доступ к узлам кластера Кибер Инфраструктуры по SSH. Для работы с целевой виртуальной машиной нужно знать идентификатор виртуальной машины (vm-id) и имя узла кластера Кибер Инфраструктуры, на котором запущена виртуальная машина.

Определение vm-id и имени узла, на котором запущена виртуальная машина

  • В панели администрирования перейдите на экран Вычисления → Виртуальные машины и просмотрите сведения о целевой виртуальной машине.
     https://kb.cyberprotect.ru/uploads/files/compute-vms-vm-properties-65ef099aea9ca936252265.png

  • Подключитесь по SSH к любому узлу кластера и выполните команду:
    vinfra service compute server list
    Пример вывода:

    +----------------------------------------------+----------------+----------+------------------------------------+
    |   id                                                                                 |   name                  |   status    |   host                                                         |
    +----------------------------------------------+----------------+----------+------------------------------------+
    |   fe98af3a-dc7b-4ac7-bf3a-4114af72dc64   |   test                    |   ACTIVE  |   ci550b3524-2.vstoragedomain    |
    +----------------------------------------------+----------------+----------+------------------------------------+

Создание моментального снимка виртуальной машины

Для создания моментального снимка виртуальной машины подключитесь по SSH к узлу кластера, на котором запущена виртуальная машина, и выполните команду:
_virsh snapshot-create-as --domain <vm-id> --name <snapshot-name>_

Просмотр списка доступных моментальных снимков виртуальной машины

Для просмотра списка доступных моментальных снимков виртуальной машины подключитесь по SSH к узлу кластера, на котором запущена виртуальная машина, и выполните команду:
_virsh snapshot-list --domain <vm-id>_

Восстановление состояния виртуальной машины из моментального снимка

Для восстановления состояния виртуальной машины из моментального снимка подключитесь по SSH к узлу кластера, на котором запущена виртуальная машина, и выполните команду:

_virsh snapshot-revert --domain <vm-id> --snapshotname <snapshot-name> --running_

Получение vm-domname по vm-id

Подключитесь по SSH к узлу кластера, на котором запущена виртуальная машина, и выполните команду:

_virsh domname <vm-id>_

Получение vm-id по vm-domname

Подключитесь по SSH к узлу кластера, на котором запущена виртуальная машина, и выполните команду:

_virsh domuuid <vm-domname>_

Расположение информационных файлов (XML-файлов) моментальных снимков

XML-файлы моментальных снимков хранятся на узле кластера Кибер Инфраструктуры, где запущена виртуальная машина. Файлы расположены в каталоге **/var/lib/libvirt/qemu/snapshot/<vm-domname>**.
openstack --insecure network list //значение(cloud-net) network_id
openstack --insecure subnet list //значение(192.168.1.0.24) subnet_id
vim network.tf 
resource "openstack_networking_port_v2" "port_vm_game" {
    count          = "3"
    name           = "port_vm_game0${count.index + 1}"
    network_id     = "61845892-f9cc-4fde-962c-34b59425a74d"
    admin_state_up = true

    fixed_ip {
        subnet_id   = "13592ca4-8782-410b-9bcc-90810ccab6fe"
        ip_address  = "192.168.1.10${count.index + 1}"
    }
}

resource "openstack_networking_port_v2" "haproxy" {
    name           = "port_vm_haproxy"
    network_id     = "61845892-f9cc-4fde-962c-34b59425a74d"
    admin_state_up = true

    fixed_ip {
        subnet_id   = "13592ca4-8782-410b-9bcc-90810ccab6fe"
        ip_address  = "192.168.1.100"
    }
}

vim floatingip.tf
resource "openstack_networking_floatingip_v2" "floatingip_haproxy" {
  pool = "public"
}

resource "openstack_networking_floatingip_associate_v2" "association_haproxy" {
  port_id     = openstack_networking_port_v2.haproxy.id
  floating_ip = openstack_networking_floatingip_v2.floatingip_haproxy.address
}

terraform validate

cd /home/altlinux/Projects/Project_01
vim deploy_project_01.sh 
#!/bin/bash

cd /home/$USER/Projects
source cloudinit.conf
cd /home/$USER/Projects/Project_01/terraform
terraform init
terraform apply -auto-approve

sleep 60
echo "done"

chmod +x deploy_project_01.sh
./deploy_project_01.sh

vim /etc/hosts
192.168.1.100   haproxy01.dev.au.team   haproxy01
192.168.1.100   game.au.team
192.168.1.101   game01.dev.au.team      game01
192.168.1.102   game02.dev.au.team      game02
192.168.1.103   game03.dev.au.team      game03

mkdir /home/altlinux/Projects/Project_01/ansible
cd /home/altlinux/Projects/Project_01/ansible
vim ansible.cfg
[defaults]
inventory = ./inventory.yml
host_key_checking = False
callback_enabled = profile_tasks
callback_whitelist = profile_tasks

vim inventory.yml 
all:
  children:
    proxys:
      hosts:
        haproxy01:

    games:
      hosts:
        game01:
        game02:
        game03:

mkdir group_vars
vim group_vars/all.yml
---
ansible_python_interpreter: /usr/bin/python3
ansible_ssh_user: altlinux
ansible_ssh_private_key_file: ~/.ssh/id_rsa

ansible -m ping all

Инструкции

Проведение горячей миграции с сохранением информационных файлов моментальных снимков

Для миграции виртуальной машины выполните следующие действия:

  1. Подключитесь по SSH к узлу, на котором запущена виртуальная машина, и переместите XML-файлы из каталога /var/lib/libvirt/qemu/snapshot/<vm-domname> в отдельный каталог (или удалите файлы, если они не нужны).
  2. Для обновления информации о состоянии моментальных снимков перезапустите службу libvirtd, выполнив команду:
    _systemctl restart libvirtd_
  3. Выполните миграцию виртуальной машины на выбранный узел.
  4. Переместите сохраненные XML-файлы на узел, куда была перенесена виртуальная машина, в каталог /var/lib/libvirt/qemu/snapshot/<vm-domname>.
  5. Для обновления информации о состоянии моментальных снимков перезапустите службу libvirtd, выполнив команду:
    systemctl restart libvirtd

Сохранение информационных файлов моментальных снимков при включении виртуальной машины

Перед включением виртуальной машины выполните следующие действия:

  1. Переместите XML-файлы из каталога /var/lib/libvirt/qemu/snapshot/<vm-domname> во временный каталог.
  2. Включите виртуальную машину.
  3. Переместите XML-файлы из временного каталога в каталог /var/lib/libvirt/qemu/snapshot/<vm-domname>.
  4. Перезапустите службу libvirtd.

Сохранение информационных файлов моментальных снимков при аппаратной перезагрузке виртуальной машины

Перед аппаратной перезагрузкой виртуальной машины выполните следующие действия:

  1. Переместите XML-файлы из каталога /var/lib/libvirt/qemu/snapshot/<vm-domname> во временный каталог.
  2. Выполните аппаратную перезагрузку виртуальной машины.
  3. Переместите XML-файлы из временного каталога в каталог /var/lib/libvirt/qemu/snapshot/<vm-domname>.
  4. Перезапустите службу libvirtd.

Сохранение информационных файлов моментальных снимков перед высвобождением ресурсов виртуальной машины

Перед высвобождением ресурсов виртуальной машины выполните следующие действия:

  1. Переместите XML-файлы из каталога /var/lib/libvirt/qemu/snapshot/<vm-domname> во временный каталог.
  2. Высвободите ресурсы виртуальной машины.
  3. Сохраните данные во временном каталоге до момента выделения ресурсов виртуальной машины.

Проведение холодной миграции или эвакуации с сохранением информационных файлов моментальных снимков

Для холодной миграции или эвакуации виртуальной машины выполните следующие действия:

  1. Переместите XML-файлы из каталога /var/lib/libvirt/qemu/snapshot/<vm-domname> во временный каталог.
  2. Проведите холодную миграцию или эвакуацию виртуальной машины.
  3. Переместите XML-файлы из временного каталога в каталог /var/lib/libvirt/qemu/snapshot/<vm-domname>.
  4. Перезапустите службу libvirtd.

Перезапуск службы libvirtd

Указанная операция необходима для обновления информации о состоянии моментальных снимков. Если вы перемещали XML-файлы моментальных снимков, то информация об этом будет актуализирована после перезапуска службы libvirtd.

Для перезапуска службы подключитесь к узлу кластера, на котором перемещали XML-файлы, и выполните команду:
systemctl restart libvirtd

cd ~/Downloads
#загружаем(я зашёл через браузер) https://disk.yandex.ru/d/uhpN6U6UYRK_Nw
unzip ~/Downloads/Project_01.zip -d /home/altlinux/Projects/Project_01/2048-game/
vim /home/altlinux/Projects/Project_01/ansible/Dockerfile
FROM node:16-alpine AS builder

WORKDIR /2048-game

COPY package*.json ./
RUN npm install --include=dev

COPY . .
RUN npm run build

EXPOSE 8080

FROM nginx:stable-alpine3.19
COPY --from=builder /2048-game/dist /usr/share/nginx/html

vim /home/altlinux/Projects/Project_01/ansible/games_playbook.yml
---
- hosts: games
  become: true

  tasks:
    - name: Install docker
      community.general.apt_rpm:
        name: 
          - docker-engine
          - docker-buildx
        state: present
        update_cache: true

    - name: Started and enabled docker
      ansible.builtin.systemd:
        name: docker
        state: started
        enabled: true

    - name: Copying the project files
      ansible.builtin.copy:
        src: ../2048-game/
        dest: "/home/{{ ansible_ssh_user }}/2048-game/"

    - name: Copying the Dockerfile
      ansible.builtin.copy:
        src: ./Dockerfile
        dest: "/home/{{ ansible_ssh_user }}/2048-game/"

    - name: Build docker image
      community.docker.docker_image_build:
        name: "2048-game"
        tag: latest
        path: "/home/{{ ansible_ssh_user }}/2048-game/"
        dockerfile: Dockerfile

    - name: Start docker container
      community.docker.docker_container:
        name: "2048-game"
        image: "2048-game"
        ports: "80:80"
        state: started
        restart: true

Значки ролей узлов хранилища

В статье приведена расшифровка обозначений ролей узлов в Кибер Инфраструктуре и Кибер Хранилище

Все узлы, представленные в панели администратора, сопровождаются небольшими значками (иконками) в соответствии с ролью каждого узла в кластере. Это позволяет быстро понять структуру хранилища и статус служб на каждом узле.

Ниже представлена расшифровка значений этих иконок.

Значок узла управления

Узел отвечает за управление кластером, на нем работает панель администратора.

Значок роли хранилища

Узлу назначены диски с ролями хранения. Такие узлы обеспечивают емкость хранилища для кластера.

Значок меняет цвет на красный при проблемах с дисками и на оранжевый – в случае если сервер фрагментов данных (CS) находится на обслуживании.

 

cd /home/altlinux/Projects/Project_01/ansible/
ansible-playbook games_playbook.yml
mkdir files
vim /home/altlinux/Projects/Project_01/ansible/files/haproxy.cfg
global
    log /dev/log daemon
    chroot      /var/lib/haproxy
    pidfile     /run/haproxy.pid
    maxconn     4000
    user        _haproxy
    group       _haproxy
    daemon
    stats socket /var/lib/haproxy/stats

defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

frontend http_front
    bind *:80
    bind *:443 ssl crt /var/lib/ssl/game.pem
    default_backend http_back

backend http_back
    balance roundrobin
    server game01 192.168.1.101:80 check
    server game02 192.168.1.102:80 check
    server game03 192.168.1.103:80 check

listen stats
bind :80
bind *:443 ssl crt /var/lib/ssl/game.pem
stats enable
stats uri /
stats refresh 5s
stats realm Haproxy\ Stats

Значок роли метаданных

Узлу назначены диски с ролями метаданных. Метка «M» указывает на узел, который в настоящий момент является ведущим в кворуме метаданных. Если на этом узле возникают проблемы, значок становится красным и в качестве ведущего выбирается другой работающий сервис метаданных.

Значок Backup Gateway

На узле запущена служба Backup Gateway и он входит в кластер Backup Gateway.

Значок NFS

На узле запущена служба NFS и он участвует в экспорте дискового пространства по протоколу NFS.

Значок S3

Узел входит в кластер S3 и экспортирует дисковое пространство по протоколу S3.

Значок iSCSI

На узле работает цель iSCSI и он экспортирует дисковое пространство по протоколу iSCSI.

openssl req -x509 -sha256 -days 3653 -newkey rsa:2048 -keyout ca.key -out ca.crt
если спросить pass phrase: P@ssw0rd
company: au.team | Common name: ca.au.team
sudo cp ca.crt /etc/pki/ca-trust/source/anchors/ && sudo update-ca-trust
mv ca.* /home/altlinux/Projects/Project_01/ansible/files/
openssl genrsa -out files/game.key 2048
openssl req -key files/game.key -new -out files/game.csr
company: au.team | Common name: game.au.team

vim files/game.ext
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
subjectAltName=@alt_names
[alt_names]
DNS.1=game.au.team
IP.1=192.168.1.100

openssl x509 -req -CA files/ca.crt -CAkey files/ca.key -in files/game.csr -out files/game.crt -days 365 -CAcreateserial -extfile files/game.ext
cat files/game.key files/game.crt > files/game.pem
vim /home/altlinux/Projects/Project_01/ansible/proxys_playbook.yml
---
- hosts: proxys
  become: true

  tasks:
    - name: Install HAProxy
      community.general.apt_rpm:
        name: haproxy
        state: present
        update_cache: true
    
    - name: Copy file 'haproxy.cfg'
      ansible.builtin.copy:
        src: files/haproxy.cfg
        dest: /etc/haproxy/haproxy.cfg
      notify:
        - Restarted HAProxy

    - name: Copy certificate for HAProxy
      ansible.builtin.copy:
        src: files/game.pem
        dest: /var/lib/ssl/game.pem
      notify:
        - Restarted HAProxy

    - name: Started and enabled HAProxy
      ansible.builtin.systemd:
        name: haproxy
        state: restarted
        enabled: true

  handlers:
    - name: Restarted HAProxy
      ansible.builtin.systemd:
        name: haproxy
        state: restarted

ansible-playbook proxys_playbook.yml
https://game.au.team
haproxy01.dev.au.team /haproxy?stats
http://новый плавающий ip 

Настройка ротации журналов Backup Gateway

Если при выполнении следующих шагов у вас возникнут вопросы или проблемы, обратитесь в службу технической поддержки Киберпротекта.

  1. По умолчанию для журналов Backup Gateway настроено хранение 50 файлов по 200 МБ каждый.
    Текущие настройки можно посмотреть в файле /etc/vstorage/abgw.config на любом узле, включенном в Backup Gateway:
[root@ ~]# grep ^log /etc/vstorage/abgw.config  
log.file = /var/log/abgw/abgw.log.zst  
**log.rotate = 50x200M**
  1. Прежде чем вносить какие-либо изменения в конфигурационный файл, на всякий случай сделайте его копию:

cp /etc/vstorage/abgw.config /etc/vstorage/abgw.config.original

  1. Отредактируйте конфигурационный файл, указав требуемое количество файлов журнала x200M для параметра log.rotate, например:
[root@ ~]# sed -i "s/^log.rotate = .*$/log.rotate = **10x200M**/" /etc/vstorage/abgw.config  
[root@ ~]# grep ^log.rotate /etc/vstorage/abgw.config  
log.rotate = **10x200M**
  1. Перезапустите службу vstorage-abgw:

systemctl restart vstorage-abgw

После этого будут применены новые настройки ротации, а старые файлы журнала – автоматически удалены.

cd /home/altlinux/Projects/Project_01
vim configure_project_01.sh 
#!/bin/bash

export PATH=/home/altlinux/.local/bin:$PATH
cd /home/$USER/Projects/Project_01/ansible
sleep 10
ansible-playbook games_playbook.yml
sleep 5
ansible-playbook proxys_playbook.yml

chmod +x configure_project_01.sh
./configure_project_01.sh
vim destroy_project_01.sh
#!/bin/bash

cd /home/$USER/Projects
source cloudinit.conf
cd /home/$USER/Projects/Project_01/terraform
terraform destroy -auto-approve
rm -f ~/.ssh/known_hosts

echo "done"

chmod +x destroy_project_01.sh
./destroy_project_01.sh
[altlinux@cloud-adm Project_01]$ tree
.
├── 2048-game
│   ├── Images
│   │   └── game-2048-welcome-page.png
│   ├── package.json
│   ├── package-lock.json
│   ├── README.md
│   ├── index.js
│   └── webpack.config.js
├── ansible
│   ├── ansible.cfg
│   ├── Dockerfile
│   ├── files
│   │   ├── ca.crt
│   │   ├── ca.key
│   │   ├── ca.srl
│   │   ├── game.crt
│   │   ├── game.csr
│   │   ├── game.ext
│   │   ├── game.key
│   │   ├── game.pem
│   │   └── haproxy.cfg
│   ├── games_playbook.yml
│   ├── group_vars
│   │   └── all.yml
│   ├── inventory.yml
│   └── proxys_playbook.yml
├── configure_project_01.sh
├── deploy_project_01.sh
├── destroy_project_01.sh
└── terraform
    ├── cloud-init.yml
    ├── floatingip.tf
    ├── network.tf
    ├── provider.tf
    ├── terraform.tfstate
    ├── terraform.tfstate.backup
    ├── vm-game.tf
    └── vm-haproxy01.tf

9 directories, 32 files
[altlinux@cloud-adm Project_01]$

Инструкция

Для переустановки (развертывания или повторного развертывания) RabbitMQ на узлах Кибер Инфраструктуры выполните следующие действия:

  1. Проверьте точное время (date; chronyc tracking) на узлах кластера. Если есть расхождение в значениях между узлами, выполните команду:
    chronyc makestep
  2. Проверьте узлы на наличие RabbitMQ с помощью команды:
    docker ps | grep rabbit
  3. На каждом узле, где есть RabbitMQ, выполните команды:
    • Остановить контейнер: docker stop rabbitmq
    • Удалить контейнер: docker rm rabbitmq
    • Удалить каталог: docker volume rm rabbitmq
  4. На главном узле выполните следующие команды:
    su vstoradmin
    kolla-ansible deploy rabbitmq
    Узнать, какой узел является главным, можно с помощью команды:
    vinfra node list
    У главного узла значение параметра is_primary будет равно True.
  5. По завершении проверьте статус RabbitMQ на всех узлах кластера:
    docker exec -itu root rabbitmq rabbitmqctl cluster_status
    Вывод команды должен быть одинаковым на всех узлах.
Категория: ALT Linux