add: сборка ядра Linux для opi5plus (fin_2)
This commit is contained in:
parent
a49d432419
commit
81fbf2ffa6
@ -488,6 +488,10 @@ rpi3b Ready <none> 27s v1.31.6+k3s1
|
||||
официальной поддержки Kubernetes/k3s для узлов на macOS (можно использовать обходные пути с использованием виртуальныех
|
||||
машин).
|
||||
|
||||
> **Заметрка:**
|
||||
>
|
||||
> Если для вашего Kubernetes-кластера требуется блочное хранилище `longhorn` (для обеспечение репликации файлов между узлами кластера и высокой доступности данных), то понадобится модуль `iSCSI` (_Internet Small Computer System Interface_) на уровне системы. В составе Ubuntu 22.04 для Orange Pi 5 этого модуля нет. Потребуется [компиляция ядра](opi5plus-rebuilding-linux-kernel-for-iscsi.md).
|
||||
|
||||
### Добавление узлов во "внешнем" интернете
|
||||
|
||||
В моем проекте (специализированном поисковике) будет нужно парсить и интернет сайты, включая заблокированные сайты.
|
||||
|
@ -2,28 +2,30 @@
|
||||
|
||||
Для моего проекта (k3s на Orange Pi 5 Plus) потребовалась поддержка система управления блочным хранилищем 'longhorn'
|
||||
(longhorn.io). _Longhorn_ позволяет создавать надёжные тома для контейнеров, автоматически реплицируя их между узлами
|
||||
и обеспечения высокую доступности приложений: если один узел выходит из строя, данные остаются доступны на репликах
|
||||
на других узлах.
|
||||
и обеспечения высокую доступности приложений (если один узел выходит из строя, данные остаются доступны на репликах
|
||||
на других узлах).
|
||||
|
||||
Для _longhorn_ нужен `iSCSI` (**Internet Small Computer System Interface**) — сетевой протокол, который позволяет
|
||||
подключать удалённые диски так, будто они подключены физически. Longhorn через iSCSI обеспечивает передачу данных между
|
||||
узлами через сеть.
|
||||
Для _longhorn_ нужен `iSCSI` (**Internet Small Computer System Interface**) — сетевой протокол, который по TCP/IP
|
||||
подсоединяет удалённые диски так, будто они подключены физически. Longhorn через iSCSI обеспечивает передачу
|
||||
данных между узлами по сети.
|
||||
|
||||
В ядре Linux поддержка _iSCSI_ реализована через модули, такие как 'iscsi_tcp' и 'scsi_transport_iscsi'. Однако,
|
||||
в большинстве дистрибутивов для одноплатных компьютеров, включая Orange Pi 5 Plus, эти модули отключены. Это делают
|
||||
В ядре Linux поддержка _iSCSI_ реализована через модули, такие как `iscsi_tcp` и `scsi_transport_iscsi`. Однако,
|
||||
в большинстве дистрибутивов для одноплатных компьютеров, включая и Orange Pi 5 Plus, эти модули отключены. Это делают
|
||||
для экономии ресурсов, да и в целом, это нетипичный сценарий использования Orange Pi. В версии Ubuntu 22.04
|
||||
для Orange Pi 5 Plus (в ядре от Xunlong), поддержка iSCSI тоже отключена, и это делает невозможным запуск Longhorn.
|
||||
для Orange Pi 5 Plus (в ядре от Xunlong), поддержка iSCSI тоже отключена, и это делает невозможным запуск Longhorn
|
||||
из коробки.
|
||||
|
||||
**А значит нужна пересборка ядра (компиляция)**
|
||||
**А значит нужно компиляция ядра (сбока)**
|
||||
|
||||
Таким образом, мы вручную включим поддержку iSCSI (модули iscsi_tcp и scsi_transport_iscsi), и в целом можем настроить
|
||||
ядро под свои задачи. Однако компиляция и замена требует осторожности — ошибка в процессе может привести к тому, что
|
||||
система не загрузится (но мы сделаем резервную копию текущего ядра, загрузчика, чтобы можно было восстановить систему).
|
||||
Мы вручную включим поддержку _iSCSI_ (модули `iscsi_tcp` и `scsi_transport_iscsi`), и cможем настроить
|
||||
ядро под свои задачи. Однако компиляция и его замена требует осторожности и внимательности, ошибка в процессе может
|
||||
привести к тому, что система не загрузится (но мы сделаем резервную копию текущего ядра, загрузчика, чтобы можно
|
||||
было восстановить систему).
|
||||
|
||||
Обновления системы (например, через `apt`) с новым ядром будет работать как обычно: пакеты, утилиты и приложения
|
||||
обновляются без проблем. Однако пересобранное ядро больше не будет автоматически обновляться через стандартные средства
|
||||
дистрибутива. Если выйдет новая версия ядра от Xunlong, придётся вручную повторить процесс компиляции. К счастью,
|
||||
Xunlong обновляет ядро не часто.
|
||||
Обновления системы (например, через `apt`) с новым ядром будет проходить, как обычно: пакеты, утилиты и приложения
|
||||
обновятся без проблем. Однако пересобранное ядро больше не будет автоматически обновляться через стандартные средства
|
||||
дистрибутива. Если выйдет новая версия ядра, то придётся вручную повторить процесс компиляции. К счастью,
|
||||
поставщик (это Xunlong) обновляет ядро не часто.
|
||||
|
||||
| ✎ Заметка |
|
||||
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
@ -36,10 +38,9 @@ Xunlong обновляет ядро не часто.
|
||||
* Скачать исходники.
|
||||
* Настроить конфиг для включения модулей iSCSI (и мониторинга NVMe).
|
||||
* Скомпилировать ядро и модули.
|
||||
* Устанавливать новое ядро.
|
||||
* Перезагрузить в новое ядро.
|
||||
* Проверить.
|
||||
|
||||
* Установить новое ядро.
|
||||
* Перезагрузиться в новое ядро.
|
||||
* Проверка.
|
||||
|
||||
## Резервное копирование текущего ядра и /boot
|
||||
|
||||
@ -60,9 +61,9 @@ ls -al /tmp/boot-backup.tar.gz
|
||||
|
||||
Теперь нам нужно скопировать его на какой-нибудь внешний хост (или носитель, но я буду копировать на хост другого
|
||||
компьютера). Если что-то пойдёт не так (например, после обновления ядра система не загрузится) можно будет восстановить
|
||||
файлы из этого архива. Мой текущий хост, на котором я буду компилировать ядро -- `opi5plus-3` (замени на свой хост), а
|
||||
имя пользователя `opi` (замени на свой). На рабочем компьютере у меня есть папка `~/backup/` (`mkdir -p ~/backup`),
|
||||
куда я и буду копировать архив:
|
||||
файлы из этого архива. Мой Orange Pi 5 Plus, на котором я буду компилировать ядро имеет хост -- `opi5plus-3` (замени
|
||||
на свой хост), а имя пользователя от которого я работаю -- `opi` (замени на свой). На рабочем компьютере, с которого
|
||||
я захожу по SSH на Orange, у меня есть папка `~/backup/` (`mkdir -p ~/backup`). Скачиваю в неё архив:
|
||||
```bash
|
||||
scp opi@opi5plus-3.local:/tmp/boot-backup.tar.gz ~/backup/opi5plus-3-boot-backup.tar.gz
|
||||
```
|
||||
@ -387,7 +388,12 @@ TriggeredBy: ● iscsid.socket
|
||||
Как видим, `active (running)`, значит iSCSI работает.
|
||||
|
||||
| ✎ Заметка |
|
||||
|----------------------------------------------------------------------------------------------------------|
|
||||
| Если вы включили мониторинг NVMe, то проверим и его. Установим nvme-cli: `sudo apt install nvme-cli` и проверим состояние нашего некопителя `sudo nvme smart-log /dev/nvme0n1`. |
|
||||
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| Если вы включили мониторинг NVMe, то проверим и его. Установим nvme-cli: `sudo apt install nvme-cli` и проверим состояние нашего накопителя `sudo nvme smart-log /dev/nvme0n1`. |
|
||||
|
||||
ВСË!
|
||||
**ВСË!**
|
||||
|
||||
А, да, не забудьте удалить репозиторий с исходниками ядра, если он вам больше не нужен:
|
||||
```bash
|
||||
rm -rf ~/linux-orangepi
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user