Сборка LTFS
Информация в данном пункте необходима для использования пулов Tape Library, LTFS. |
Страница проекта: https://github.com/LinearTapeFileSystem/ltfs
Зависимости, которые должны быть установлены перед сборкой: https://github.com/LinearTapeFileSystem/ltfs/wiki/Build-Environments
Общая сборочная инструкция: https://github.com/LinearTapeFileSystem/ltfs#build-and-install-on-linux
Поддерживаемые устройства: https://github.com/LinearTapeFileSystem/ltfs#supported-tape-drives
-
Установите необходимые пакеты для сборки, исходя из операционной системы, на которую устанавливается LTFS:
-
RPM-based OS
Чтобы собрать LTFS, выполните:
sudo yum install perl sudo yum install make sudo yum install gcc sudo yum install git sudo yum install pkg-config sudo yum install libxml2-dev sudo yum install automake sudo yum install autoconf sudo yum install libtool sudo yum install uuid sudo yum install uuid-devel sudo yum install libuuid-devel sudo yum install icu sudo yum install fuse sudo yum install fuse-devel sudo yum install libicu-devel sudo yum install net-snmp sudo yum install net-snmp-devel
-
DEB-based OS
Чтобы собрать LTFS, выполните следующие команды (для всех поддерживаемых систем, кроме Astra Linux 1.8 и Debian 12):
sudo apt install make sudo apt install git sudo apt install pkg-config sudo apt install libxml2-dev sudo apt install automake sudo apt install autoconf sudo apt install libtool sudo apt install uuid sudo apt install uuid-dev sudo apt install fuse sudo apt install libfuse-dev sudo apt install libsnmp-dev sudo apt install icu-devtools sudo apt install libicu-dev
Для ОС Astra Linux 1.8 и Debian 12 замените команду:
sudo apt install fuse
командой:
sudo apt install libfuse2
Создайте файл
/usr/bin/icu-config
со следующим содержимым:#!/bin/sh opts=$1 case $opts in '--cppflags') echo '' ;; '—ldflags') echo '-licuuc -licudata -ldl' ;; *) echo '/usr/lib/x86_64-linux-gnu/icu/pkgdata.inc' ;; esac
и выполните команду:
chmod 755 /usr/bin/icu-config
-
-
Сборка
Для сборки выполните:
git clone https://github.com/LinearTapeFileSystem/ltfs.git cd ltfs sudo ./autogen.sh sudo ./configure sudo make sudo make install sudo ldconfig -v
-
Проверьте, подключена ли ленточная библиотека к хосту:
sudo lsscsi -g
Команда должна показать подключённые устройства, в их числе привод (приводы) ленточной библиотеки и робота ленточной библиотеки:
[1:0:0:0] tape IBM ULT3580-TD6 D8E4 /dev/st0 /dev/sg5
[1:0:0:1] mediumx IBM3573-TL C.20 /dev/sch0 /dev/sg6
В данном случае у библиотеки есть один ленточный привод (магнитофон) и робот, к которому можно обращаться через
/dev/sg6
. -
Получите информацию о ленточной библиотеке, обращаясь к роботу ленточной библиотеки:
sudo mtx -f /dev/sg6 status
Эта команда должна показать информацию о слотах ленточной библиотеки, о загруженных в них картриджах и о приводах ленточной библиотеки.
Пример выводаsudo mtx -f /dev/sg6 status
Storage Changer /dev/sg6:1 Drives, 24 Slots ( 1 Import/Export ) Data Transfer Element 0:Empty Storage Element 1:Full :VolumeTag=INT020L6 Storage Element 2:Full :VolumeTag=INT023L6 Storage Element 3:Full :VolumeTag=INT033L6 Storage Element 4:Full :VolumeTag=INT026L6 Storage Element 5:Full :VolumeTag=INT029L6 Storage Element 6:Full :VolumeTag=INT022L6 Storage Element 7:Full :VolumeTag=INT034L6 Storage Element 8:Full :VolumeTag=INT025L6 Storage Element 9:Full :VolumeTag=INT028L6 Storage Element 10:Full :VolumeTag=INT021L6 Storage Element 11:Full :VolumeTag=INT024L6 Storage Element 12:Full :VolumeTag=INT039L6 Storage Element 13:Full :VolumeTag=INT012L6 Storage Element 14:Full :VolumeTag=INT011L6 Storage Element 15:Empty Storage Element 16:Full :VolumeTag=INT036L6 Storage Element 17:Full :VolumeTag=INT014L6 Storage Element 18:Full :VolumeTag=INT010L6 Storage Element 19:Empty Storage Element 20:Full :VolumeTag=INT038L6 Storage Element 21:Full :VolumeTag=INT037L6 Storage Element 22:Empty Storage Element 23:Full :VolumeTag=CLNU41L1 Storage Element 24 IMPORT/EXPORT:Full :VolumeTag=INT027L6
В данном случае библиотека состоит из 24 слотов, один из которых — слот ввода-вывода, через который можно импортировать или экспортировать ленточные картриджи, и один ленточный привод (сейчас пуст). Слоты ленточной библиотеки заполнены картриджами с определенными VolumeTag, один из картриджей — чистящий, три слота в ленточной библиотеке пусты.
-
Загрузите картридж в ленточную библиотеку, создайте на нем файловую систему LTFS и проверьте её работу:
sudo mtx-f /dev/sg6 load 1 0
В результате выполнения этой команды картридж из слота 1 будет загружен в единственный магнитофон 0.
-
Создайте файловую систему LTFS на картридже:
sudo mkltfs-f-d /dev/sg5
-
Проверьте файловую систему LTFS:
sudo ltfsck /dev/sg5
-
Создайте точку монтирования:
sudo mkdir /ltfs
-
Монтируйте файловую систему LTFS:
sudo ltfs -o devname=/dev/sg5 /ltfs/
-
Убедитесь, что файловая система примонтирована:
sudo df -k /ltfs Filesystem 1K-blocks Used Available Use% Mounted on ltfs:/dev/sg5 2351648768 0 2351648768 0% /ltfs
-
Отмонтировать файловую систему LTFS:
sudo umount /ltfs
-
Возвратить картридж из магнитофона 0 в слот 1:
sudo mtx -f /dev/sg6 unload 1 0
Если все действия завершились успешно, то ленточная библиотека готова к работе с сервером RuBackup.