Домен даних : Як усунути проблеми зі встановленням, конфігурацією та монтуванням Boostfs
Summary: Ця стаття допомагає користувачеві виявити та вирішити деякі типові проблеми зі встановленням та налаштуванням BOOSTFS.
Symptoms
BOOSTFS — це програмний компонент, який може бути встановлений у деяких операційних системах, який забезпечує можливість запускати резервне копіювання BOOST на DataDomain без використання будь-якої конкретної програми резервного копіювання, водночас використовуючи деякі функції, які постачаються з використанням програми резервного копіювання з підтримкою BOOST, наприклад Netbackup, Networker і Avamar.
Для отримання більш детальної інформації про встановлення та використання перевірте Data Domain: Прискорені кроки та деталі конфігурації для DataDomain BOOST FS Стаття KB.
Однак ця база даних містить деякі типові проблеми, які можуть виникнути під час налаштування та використання BOOSTFS, щоб клієнти могли швидко ознайомитися з цими типовими помилками, повідомленнями про помилки та способами їх вирішення. Типовими такими помилками є «Не вдається встановити Boostfs на сервер Linux», «Помилка монтування Boostfs з помилкою» або «Резервне копіювання або відновлення не вдається з помилкою», і це лише деякі з них.
Resolution
1. Обов'язкова залежність відсутня при встановленні програмного забезпечення BOOST
FSЯкщо не вдається встановити наданий програмний RPM BOOSTFS у клієнтську операційну систему Linux, спочатку визначте, які є необхідні залежності пакунків для програмного забезпечення BOOSTFS:
# rpm -qpR DDBoostFS-1.0.0.1-539441.rhel.x86_64.rpm запобіжник >= 2,8 fuse-libs >= 2.8 /bin/sh /bin/sh /bin/sh /bin/sh rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
У наведеному вище прикладі пакунок просить встановити двійкові файли та бібліотеки FUSE (файлова система у просторі USEr) (BOOSTFS базується на FUSE Linux), а також будь-який пакунок, що надає оболонку (sh) та бібліотеки RPM за замовчуванням. Отже, цей пакунок BOOSTFS має нормально встановлюватися у системі Linux, на якій було запущено "rpm".
2. Неможливо змонтувати /mnt/точка монтування/: неочікувана помилка
При спробі змонтувати віддалене сховище DD локально в клієнті Linux через BOOSTFS ви можете отримати помилку, наведену вище. Перегляньте файл журналу BOOSTFS у клієнті Linux. Наприклад, у першому прикладі, наведеному нижче, файл lockbox не містить запису для dd2500-abc.datadomain.com хоста:
# менше /opt/emc/boostfs/log/ddboostfs_0_0.log 29 липня 03:45:25 22795 3267069888 [E] bfs_lockbox_get_user_info: Не вдалося знайти запис ключа dd2500-abc.datadomain.com:LSU2 у файлі налаштувань /opt/emc/boostfs/lockbox/boostfs.lockbox. Запитуваний вхід у сейф знайти не вдалося. 29 липня 03:45:25 22795 3267069888 [E] bfs_conn_lookup: помилка пошуку з'єднання для вузла 0 файл /.boostfs_sysinfo. (0 підключень) 29 липня 03:45:25 22795 3267069888 [I] bfs_node_lookup: не вдалося встановити з'єднання для файлу /.boostfs_sysinfo 29 липня 03:45:25 22795 3267069888 [E] bfs_initialize_mntopts: помилка ініціалізації
Рішенням у цьому випадку було б додати запис у блок для хоста та сховища DD призначення, які будуть змонтовані локально. Синтаксис буде схожий на приклад нижче:
# /opt/emc/boostfs/bin/boostfs lockbox set -u sysadmin -d dd2500-abc.datadomain.com -s LSU2 Введіть пароль користувача накопичувача: Введіть пароль користувача накопичувача ще раз, щоб підтвердити: Набір для входу в сейф
Ще одна можлива помилка, яку можна побачити в локальних журналах клієнта BOOSTFS, полягає в тому, що ім'я хоста DD не вирішується з клієнтом, наприклад:
# менше /opt/emc/boostfs/log/ddboostfs_0_0.log 29 липня 04:05:50 22882 3322156992 [E] bfs_conn_open: помилка підключення (0 підключень): 5037 29 липня 04:05:50 22882 3322156992 [E] bfs_conn_lookup: помилка пошуку з'єднання для вузла 0 файл /.boostfs_sysinfo. (0 підключень) 29 липня 04:05:50 22882 3322156992 [I] bfs_node_lookup: не вдалося встановити з'єднання для файлу /.boostfs_sysinfo 29 липня 04:05:50 22882 3322156992 [E] bfs_initialize_mntopts: помилка ініціалізації
Рішенням у цьому випадку може бути або додавання статичного хоснтаму до відображення IP до файлу /etc/host клієнта Linux, або налаштування відображення у DNS-сервері, який використовується.
3. Точка монтування /mnt/точка монтування є непорожньою.
BoostFS не можна монтувати на непорожню точку монтування. Будь ласка, спробуйте встановити на порожню точку монтування.
Наведене вище повідомлення означає, що вказана точка монтування (/mnt/точка монтування) не може бути використана для показу віддаленого сховища DD, оскільки точка монтування не може мати іншої файлової системи, змонтованої раніше, або мати будь-який вміст. /mnt/mountpoint/ має бути порожнім і невикористаним каталогом у клієнті Linux. Якщо шлях вже має монтування, вам слід вказати іншу точку монтування. Наприклад:
# кріплення /dev/mapper/vg00-lv_root увімкнено / тип ext4 (rw) /dev/sda1 на /boot тип ext4 (rw) boostfs на /mnt/точка монтування тип fuse.boostfs (rw,nosuid,nodev)
У цьому випадку віддалене сховище даних DD вже змонтовано у /mnt/mountpoint/, а отже, його не можна змонтувати знову у тому самому каталозі.
4. Кріплення DDBoostfs зависає (повернення може зайняти навіть більше 10 хвилин)
Це може статися, коли брандмауер між клієнтом Linux і цільовим пристроєм DD скидає трафік на порти TCP 111 і 2049. Переконайтеся, що клієнт Linux може отримати доступ до портів DD до TCP 111 і 2049, а потім повторіть спробу, наприклад:
# /opt/emc/boostfs//bin/boostfs mount -d dd2500.domain.com -s LSU2 /mnt/mountpoint/
Це приклад того, що ви бачите в журналах BOOSTFS клієнта Linux у такому випадку:
# менше /opt/emc/boostfs/log/ddboostfs_0_0.log 27 липня 06:34:53 32762 3724339136 [E] bfs_conn_open: помилка підключення (0 підключень): 5037 27 липня 06:34:53 32762 3724339136 [E] bfs_conn_lookup: помилка пошуку з'єднання для вузла 0 файл /.boostfs_sysinfo. (0 підключень) 27 липня 06:34:53 32762 3724339136 [I] bfs_node_lookup: не вдалося встановити з'єднання для файлу /.boostfs_sysinfo 27 липня 06:34:53 32762 3724339136 [E] bfs_initialize_mntopts: помилка ініціалізації
5. Операція заборонена при спробі отримати доступ до вмісту або вивести список під точкою монтування
# ls -l /mnt/точка монтування/ ЛС: Читання довідника .: Експлуатація заборонена Всього 0
Проблема може полягати в тому, що немає TCP-з'єднання з віддаленими портами DD 111 і 2049, або що термін дії автентифікації сейфа якимось чином закінчився. Переконайтеся, що клієнт Linux все ще може отримати доступ до DD на вказаних портах, і спробуйте знову налаштувати блок для віддаленого DD, сховища та користувача BOOST.
6. Недостатнього доступу до сховища або сховища не існує, якщо використовується розпізнавання kerberos.
# boostfs mount -s LSU3 -d dd2500.domain.com /mnt/mountpoint/ Недостатній доступ до або накопичувача LSU3 відсутній
Якщо використовується розпізнавання Kerberos для скриньки, найімовірнішою причиною помилки буде завершення терміну дії квитка розпізнавання Kerberos. Перевірте згаданий квиток з Linux, наприклад нижче:
# /opt/emc/boostfs/bin/boostfs kerberos query -s LSU3 -u ім'я користувача Принципал клієнта: username@DOMAIN.COM Дійсний старт: Вт серпня 23 11:02:49 2016 Закінчується: Вт серпня 23 21:01:07 2016 Поновлюйте до: Вт серпня 30 11:02:49 2016 Реєстраційний запис служби: krbtgt/DOMAIN. COM@DOMAIN.COM
На DDR переконайтеся, що призначений користувачеві BOOST для сховища збігається з користувачем у клієнті Linux під час налаштування блоку та монтування BOOSTFS (ім'я користувача AD та ім'я користувача сховища мають бути абсолютно однаковими):
# DDBOOST Storage-Unit Show Ім'я Pre-Comp (GiB) Статус Звіт користувача Фізичний орендар Розмір (MiB) --------------- -------------- ------ -------- --------------- ----------- Ім'я користувача LSU3 0.0 RW - - --------------- -------------- ------ -------- --------------- -----------
Також подбайте про те, щоб підтвердити, що дата/час у DD, клієнті Linux і сервері Kerberos (AD) знаходиться на відстані не більше 5 хвилин, інакше можуть виникнути проблеми з квитками, термін дії яких закінчився через неузгоджений час.
Нижче наведено приклад того, що ми побачимо в логах DD, якщо різниця в часі буде більше 5 хвилин:
# журнал перегляду debug/ddfs.info 23.08 18:52:09.654 (0x7f738141fb00): NFS3 Прийнято 3000004B6 552 від 10.64.229.125:55042 23.08 18:52:09.660 (tid 0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_print_error:117 - подія gss_error, gss_accept_sec_context не вдалося: maj=0xd0000, min=0x96c73a25 23.08 18:52:09.660 (tid 0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_print_error:126 - подія gss_error, Невизначений збій GSS. Мінорний код може надати більше інформації 23.08 18:52:09.660 (tid 0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_print_error:141 - подія gss_error, Перекіс годинника занадто великий 23.08 18:52:09.660 (tid 0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_accept:217 - подія gss_accept_failed, maj=851968, min2529638949 23.08 18:52:09.660 (TID 0x7f73814233f0): NFS3 знищено TCP 3000004B6
А це для журналів хостів BOOSTFS Linux:
# менше /opt/emc/boostfs/log/ddboostfs_0_0.log 23 серпня 18:04:39 1044 2019465280 [E] bfs_conn_open: не вдалося підключитися (0 підключень): 5075 23 серпня 18:04:39 1044 2019465280 [E] bfs_conn_lookup: помилка пошуку з'єднання для вузла 0 файл /.boostfs_sysinfo. (0 підключень) 23 серпня 18:04:39 1044 2019465280 [I] bfs_node_lookup: не вдалося встановити з'єднання для файлу /.boostfs_sysinfo 23 серпня 18:04:39 1044 2019465280 [E] bfs_initialize_mntopts: помилка ініціалізації
7. Монтування Boostfs із автентифікацією Kerberos завершується помилкою «Не вдається отримати доступ до замка або не знайдено вхід до сейфа»
# /opt/emc/boostfs/bin/boostfs mount -s LSU3 -d dd2500.domain.com /mnt/mountpoint/ Неможливо отримати доступ до сейфа або вхід до сейфа не знайдено
Якщо ви маєте намір використовувати параметри конфігурації BOOSTFS у "/opt/emc/boostfs/etc/boostfs.conf", перевірте параметр "[global]" у файлі та переконайтеся, що він не закоментований (для того, щоб будь-який із загальних параметрів працював, ключове слово "[global]" має бути некоментованим). За замовчуванням це ключове слово коментується.
Приклад вмісту конфігураційного файлу BOOSTFS "/opt/emc/boostfs/etc/boostfs.conf":
# Коментарі не допускаються після пари значень параметрів. # ############################################################################# [Глобальний] # Домен даних Ім'я хоста або IP-адреса # data-domain-system=dd2500.domain.com
Приклад виведення, який ви бачите в журналах BOOSTFS клієнта Linux:
# менше /opt/emc/boostfs/log/ddboostfs_0_0.log 24 серпня 08:23:35 27227 3565582272 [E] bfs_lockbox_get_user_info: Не вдалося знайти запис ключа dd2500-rtp2.techsupp.local:LSU3 у файлі налаштувань /opt/emc/boostfs/lockbox/boostfs.lockbox. Запитуваний вхід у сейф знайти не вдалося. 24 серпня 08:23:35 27227 3565582272 [E] bfs_conn_lookup: помилка пошуку з'єднання для вузла 0 файл /.boostfs_sysinfo. (0 підключень) 24 серпня 08:23:35 27227 3565582272 [I] bfs_node_lookup: не вдалося встановити з'єднання для файлу /.boostfs_sysinfo 24 серпня 08:23:35 27227 3565582272 [E] bfs_initialize_mntopts: помилка ініціалізації
Крім того, помилка може бути наслідком використання іншого імені хоста, ім'я сховища або імені користувача BOOST у команді "mount" клієнта Linux, порівняно з тими, які використовуються для налаштування блоку, або тими, які відповідають цільовому DD. Переконайтеся, що всі імена збігаються в DD, lockbox BOOSTFS і команді mount.
8. Спроба встановити облікові дані користувача "boostfs" завершується невдачею з такою помилкою :
bfs_krb5_err_handler: Помилка Kerberos: -1765328360 [ERROR_MESSAGE=Не вдалося отримати початкові облікові дані.]
Не вдається встановити облікові
дані Kerberos 1. Перевірте правильність облікових даних користувача Active Directory, увійшовши в DC за допомогою облікових даних
користувача Active Directory 2. Час перевірки на клієнті Linux і сервері Kerberos не перевищує 5 хвилин. Автентифікація Kerberos вимагає, щоб час годинника відрізнявся не більше 5 хвилин.
9. Під час монтування BOOSTFS у клієнті Linux він закінчується помилкою "fusermount: mount failed: Операція заборонена".
Це може бути пов'язано з низкою причин. "fusermount" — це базова команда Linux, яка в кінцевому підсумку використовує FUSE для локального монтування сховища DD BOOST у просторі імен клієнта Linux. Для цього потрібні особливі привілеї. Ось чому "fusermount" є виконуваним файлом SUID у клієнті Linux:
# ls -l /usr/bin/fusermount -rwsr-xr-x. 1 корінь кореня 38680 11 травня 2019 /usr/bin/fusermount
Те, що виконуваний файл SUID означає, що незалежно від того, що користувач виконує спробу змонтувати модуль зберігання даних, "fusermount" працюватиме з привілеями "root". Якщо "fusermount" не є SUID для root, лише користувач користувача користувача клієнта Linux може змонтувати віддалений сховище BOOST. Це може не бути проблемою, якщо монтування встановлено за допомогою /etc/fstab, але може бути у випадках, коли монтування має виконувати користувач, який не є користувачем root.
10. BOOSTFS монтується нормально, але спроби отримати доступ до вмісту сховища в точці монтування зазнають невдачі з помилками
дозволуПри монтуванні сховища вручну за допомогою команди DataDomain "boostfs" або /etc/fstab (або навіть "mount.fuse" з інтерфейсу командного рядка), базовою реалізацією FUSE за замовчуванням є надання доступу до файлів лише клієнту Linux, який змонтував BOOSTFS. Отже, якщо монтування було зроблено від імені адміністратора (root), доступ до файлів може отримати лише користувач root. Якщо монтування було зроблено користувачем "postgres" (для резервного копіювання бази даних PostgreSQL), лише цей користувач матиме права доступу до файлів.
Якщо з різних причин потрібно, щоб інші користувачі могли отримати доступ до файлів у змонтованому сховищі з хмари Linux, можливо, потрібно налаштувати /etc/fuse.conf. Детальніше тут:
http://manpages.ubuntu.com/manpages/bionic/en/man8/mount.fuse.8.html
Вам потрібно буде встановити наступний параметр у /etc/fuse.conf:
user_allow_other
Дозволити користувачам, які не є користувачами root, вказувати параметри монтування allow_other або allow_root (див.
нижче).
А потім використовуйте наступне під час монтування сховища BOOST з командного рядка:
allow_other
Цей параметр має пріоритет над заходом безпеки, що обмежує доступ користувача до файлів
монтування файлової системи. Таким чином, всі користувачі (включаючи root) можуть отримати доступ до файлів. Цей
типово дозволено лише для root, але це обмеження можна зняти за допомогою
Параметр конфігурації, описаний вище (user_allow_other).
Additional Information
1. Яку максимальну кількість розділів точки монтування можна визначити у файлі налаштувань boostfs?
Кількість монтувань у розділі точки монтування файлу boostfs.conf не обмежена.
# Розділи точки монтування відокремлюються тегами [точка монтування] # # [/шлях/до/монтування] # [/mnt/bofs] # Домен даних Ім'я хоста або IP-адреса # data-domain-system=dd2500-1.yourdomain.com # Одиниця зберігання # storage-unit=su-name # Ім'я користувача одиниці зберігання # storage-unit-username=sysadmin # Підкаталог у сховищі, до якого слід монтувати # назва_каталогу=шлях/до/підкаталогу
2. Networker підтримує BOOSTFS за замовчуванням і може обробляти монтування «на льоту» для виконання певних завдань і резервного копіювання
Навіть якщо Networker є програмою резервного копіювання з підтримкою BOOST, вона також підтримує BOOSTFS у клієнтських системах Linux, де вона встановлена. Одним із прикладів резервної копії NW, взятої з командного рядка клієнта Linux, після налаштування блоку BOOSTFS, може бути наступне (резервне копіювання PostgreSQL):
# nsroappbackup -z /nsr/apps/config/backup_postgresql.cfg 174908:(pid 16487):Збереження даних резервної копії в пулі 'БД'. 175019:(pid 16487):Отримано інформацію про обов'язкову інформацію про хост «dd.example.com». 174910:(pid 16487):З'єднано з процесом nsrmmd на основній системі 'dd.example.com'. + /usr/pgsql-11/bin/pg_dump --file=/nsr/apps/tmp/e3106c82_294324_16487/dump.sql --format=plain Продовжено обробку з поверненим значенням 0. + /bin/cp /data/postgresql.conf /nsr/apps/tmp/e3106c82_294324_16487/ Продовжено обробку з поверненим значенням 0. Файли в наборі збереження «PostgreSQL_postgres_backuppostgre_full» на момент «01/04/20 15:40:36»: Розмір: Ім'я: 2645 dump.sql 24000 postgresql.conf 2 Файл(и) 26645 байт Команду резервного копіювання «/nsr/apps/config/scripts/backup-postgre-dbon1-full.sh» успішно завершено. Резервне копіювання успішно завершено.
Після того, як завдання резервного копіювання налаштовано, його також можна запустити з графічного інтерфейсу NW і відстежувати прогрес там.messages.engineering покаже записи журналу, подібні до наведеного нижче, коли монтування, випущене NW, буде завершено:
1 квітня 15:20:49 dd.example.com ddfs[17040]: ПРИМІТКА: ddboost-client.example.com-49808<>: Підсилювачі: 1 квітня 15:22:52.395 16275 704915520 [I] Версія плагіна DDBoost така: [7.0.0.0.633508] 1 квітня 15:20:49 dd.example.com ddfs[17040]: ПРИМІТКА: ddboost-client.example.com-49808<>: Підсилювачі: 1 квітня 15:22:52.395 16275 704915520 [I] Інформація про версію BoostFS: [BOOSTFS:7.0.0.0-633922 ЗАПОБІЖНИК:2.9.7] 1 квітня 15:20:49 dd.example.com ddfs[17040]: ПРИМІТКА: ddboost-client.example.com-49808<>: Підсилювачі: 1 квітня 15:22:52.395 16275 704915520 [I] bfs_lib_init: Монтування dd.example.com:LSU_NAME на /mnt/точка монтування