1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/binave-tiny4containerd

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 11 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 06:36 923f4e0

Tiny4Containerd — это легковесный дистрибутив Linux, предназначенный для запуска контейнеров на «голом железе». Он работает полностью из оперативной памяти.

Tiny4Containerd лицензирован в соответствии с лицензией Apache версии 2.0. См. лицензию для полного текста лицензии.

Использованы:

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

user: tc
pass: tcuser

Установка на любое устройство

Чтобы установить ISO на SD-карту, USB-накопитель или даже пустой жёсткий диск, можно использовать команду dd if=tiny4containerd.iso of=/dev/sdX. Это создаст небольшой загрузочный раздел и установит MBR.

При этом, если вы уверены, что диск действительно пуст, инициализируйте его до массива RAID и создайте логический том, отформатируйте его. Если есть логический том с именем lv_data и lv_log, смонтируйте его.

Логический том lv_log будет смонтирован в каталог /log. Логические тома lv_data будут смонтированы в корневую директорию со следующими каталогами:

/home
/opt
/tmp
/volume1

Если соответствующих каталогов нет, они будут созданы и смонтированы автоматически. Обратите внимание: SSD (твердотельные накопители) не подвергаются специальной обработке. Возможно возникновение ситуации, когда срок службы одновременно используемых SSD истечёт, что увеличит риск постоянной потери данных.

FAQ

Q: Как выполнить пользовательскую конфигурацию?

A:

В логическом томе lv_data существует несколько конфигурационных файлов. Они выполняются в следующем порядке:

Путь Описание Пример Примечание
/opt/tiny/etc/passwd Конфигурация пароля root:$1$AgCGptrX$hL7QB536iJ9KKjO1KtfVA. Используйте openssl passwd -1 [password] для генерации зашифрованного пароля
/opt/tiny/etc/if.cfg Конфигурация статического IP eth0 192.168.1.123 192.168.1.255 255.255.255.0
/opt/tiny/etc/init.d/[SK]*.sh Запуск и остановка скриптов S01_ftpd.sh K20_ftpd.sh S*.sh выполняется перед запуском сервиса
K*.sh выполняется при выключении устройства
/opt/tiny/etc/env Конфигурация переменных среды EXTRA_ARGS="--registry-mirror=https://xxx.mirror.aliyuncs.com"
/opt/tiny/etc/rc.local Выполнение на последнем этапе запуска Необходимо предоставить исполняемые права
isolinux.cfg Параметры запуска и переменные среды Необходимо отредактировать исходный код файла конфигурации

Q: Что делать, если недостаточно места на диске?

А:

Используйте команду mdisk с подкомандой expand. Перед выполнением необходимо установить новое устройство хранения.

В файл isolinux.cfg после символа APPEND добавьте символ noraid. Это позволит игнорировать все дисковые массивы и добавить новый диск только в существующий LVM.

Без использования noraid: для обеспечения выравнивания разделов команда expand требует, чтобы свободное дисковое пространство могло образовать новый массив, который должен соответствовать уровню RAID существующего массива, иначе команда завершится ошибкой.

noraid предназначен для поддержки аппаратных RAID-карт. В большинстве случаев рекомендуется использовать дисковые массивы для снижения риска потери данных.

Q: Нужно ли использовать несколько дисков для RAID при использовании режима RAID?

А:

Можно использовать один диск. Один диск будет инициализирован как RAID 1, и в массиве останется одно свободное место.

Вы можете добавить ещё один диск той же ёмкости позже. Он будет автоматически добавлен в массив при запуске системы (или с помощью команды mdisk rebuild).

Tiny4Containerd поддерживает только RAID 1 и RAID 5 и не поддерживает вложенные массивы.

Q: Как сделать так, чтобы новый добавленный диск использовался для расширения, а не для восстановления RAID при перезагрузке операционной системы?

А:

Новый установленный диск будет использоваться для восстановления RAID только в случае, если существующий RAID не является полным и прошёл процесс загрузки.

Добавьте символ noautorebuild после символа APPEND в файле isolinux.cfg. Это пропустит восстановление RAID во время загрузки, после чего вы сможете вручную расширить массив с помощью команды mdisk expand после входа в систему.

Если вы используете диски с горячей заменой, просто избегайте перезагрузки операционной системы и используйте команду mdisk expand.

Q: Какие новые команды имеют какие переменные окружения?

А:

Dockerfile конфигурация ENV:

Переменная окружения Значение по умолчанию Описание
OUTPUT_PATH / Путь вывода по умолчанию (в контейнере)
TIMEOUT_SEC 600 Время ожидания (в секундах)
TIMELAG_SEC 5 Интервал цикла (в секундах)
TMP /tmp Временная директория
KERNEL_MAJOR_VERSION 4.9 Версия ядра

После символа APPEND файла isolinux.cfg:

Имя Значение по умолчанию Описание Команда Примечание
nodisk Игнорировать все диски mdisk init
noraid Игнорировать все устройства RAID и связанные логические диски mdisk init
noautorebuild Пропустить восстановление RAID mdisk init
BYTES_PER_INODE 8192 Изменить верхний предел количества файлов в файловой системе mdisk Не рекомендуется изменять
DISK_PREFIX sd Префикс имени диска mdisk Необходимо настроить в соответствии с оборудованием
LOG_EXTENTS_PERCENT 15 lv_log Доля использования раздела mdisk
BLOCK_SIZE 4 Размер блока mdisk Не рекомендуется изменять
CHUNK 128 Размер блока RAID mdisk Не рекомендуется изменять

Общая конфигурация /opt/tiny/etc/env:

Переменные окружения Значение по умолчанию Описание Команда Примечание
CROND_LOGLEVEL 8 Уровень журнала crond, 0 — самый подробный crond
PW_CONFIG /opt/tiny/etc/passwd Конфигурация паролей pw
IF_CONFIG /opt/tiny/etc/if.cfg Статическая конфигурация IP ifinit
IF_PREFIX eth Префикс сетевого адаптера ifinit, containerd Необходимо настроить в зависимости от оборудования
CONTAINERD_ULIMITS 1048576 Ограничение числа процессов containerd
CONTAINERD_HOST -H tcp://0.0.0.0:2375 Мониторинг хостов containerd Можно ли настроить порядок запуска контейнеров?

Можно создать файл конфигурации ~/.container_start.

Контейнеры с одинаковым идентификатором на одной строке будут запущены одновременно. Между строками можно вставить команду sleep [sec], чтобы отложить запуск. Строки, начинающиеся с символа !, не будут запускать контейнеры после них (в каждой строке может быть только один символ !). Контейнеры, идентификаторы которых не указаны в файле конфигурации, будут запущены последними одновременно.

Например:

!0123456789abcdef0123  # не запускать
89abcdef0123
sleep 2                 # задержка 2 секунды
456789abcdef ba9876543210

Как увеличить частоту записи журналов операций?

В качестве пользователя root используйте команду crontab -e для редактирования запланированных задач и добавьте следующую команду:

*/5 * * * * /usr/local/sbin/wtmp

Это позволит записывать операции не только при входе в систему, но и каждые 5 минут.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/binave-tiny4containerd.git
git@api.gitlife.ru:oschina-mirror/binave-tiny4containerd.git
oschina-mirror
binave-tiny4containerd
binave-tiny4containerd
master