开源软件名称:tiny4containerd
开源软件地址:https://gitee.com/binave/tiny4containerd
开源软件介绍:
Tiny4ContainerdTiny4Containerd is a lightweight Linux distribution made specifically to run containers on bare metal. It runs completely from RAM. Tiny4Containerd 是一个轻量级,运行于内存中的 linux,用于在裸机上快速部署容器环境。
Licensingtiny4containerd is licensed under the Apache License, Version 2.0. SeeLICENSE for the fulllicense text. import:
If you want to SSH into the machine, the credentials are: 如果你需要通过 SSH 登陆设备,初始账号密码如下。
Install on any deviceTo 'install' the ISO onto an SD card, USB-Stick or even empty hard disk, you canuse dd if=tiny4containerd.iso of=/dev/sdX . This will create the small bootpartition, and install an MBR. 如果想要将 ISO 文件安装到 SD 卡或其他 USB 接口的空存储介质,可以使用 dd if=tiny4containerd.iso of=/dev/sdX 命令。 If make sure the disk is empty for real, initialise to md array, create a logical volume, format it. 如果启动中检测到一个空硬盘,会自动初始化成 RAID,并在上面建立 LVM2 分区。 If there is a logical volume name lv_data and lv_log , mount it. 如果启动中检测到一个逻辑卷名为 lv_data 和 lv_log ,会对其进行自动挂载。
卷标为 lv_log 的逻辑卷会挂载到 /log 目录上。 逻辑卷 lv_data 中的以下目录会被挂载到根目录上: 如果没有相应目录,会自动建立并挂载。 注意:没有对 SSD (固态硬盘)进行特别处理。 相同型号 SSD 组成的 RAID ,可能出现寿命同时用尽的情况,会增加数据永久丢失的风险。
FAQQ: 如何进行自定义配置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: 如果磁盘空间不足怎么办?A: 使用 mdisk 命令的 expand 子命令进行分区扩容。需要在执行前安装好新的存储设备。 在 isolinux.cfg 文件的 APPEND 字符后插入 noraid 字符,会忽略所有的磁盘阵列,仅将一个新硬盘加入现有的 LVM 中。 不使用 noraid 的情况下:为了保证分区对齐,expand 命令要求空闲硬盘能够组成的新阵列,必须与原有磁盘 RAID 等级相同,否则会失败。
noraid 是为了支持 硬件 RAID 卡 而设计的。通常情况下建议使用磁盘阵列以降低数据丢失的风险。
Q: 使用 RAID 模式时必须使用多块硬盘吗?A: 可以使用单块硬盘,单块硬盘会初始化成 RAID 1 ,阵列里会留有一个空位。 你可以在使用一段时间之后,加入一块相同容量的空硬盘。它会在系统启动(或使用 mdisk rebuild 命令)时自动修补之前的 RAID。 Tiny4Containerd 将只支持 RAID 1 和 RAID 5 ,且不支持阵列嵌套。
Q: 如何让新加入的硬盘用于扩容,而不是在重启操作系统时进行 RAID 修补。A: 安装的新硬盘只有在使用的 RAID 不完整,并且经过装载步骤的情况下才会用于 RAID 修补。 在 isolinux.cfg 文件的 APPEND 字符后插入 noautorebuild 字符,会在装载时跳过修补,然后登陆后使用 mdisk expand 命令来手动进行扩容。 如果使用热插拔硬盘,只要避免重启操作系统,执行 mdisk expand 命令即可。
Q: 新增命令有哪些环境变量?A: Dockerfile 的 ENV 配置:
环境变量名称 | 默认值 | 说明 |
---|
OUTPUT_PATH | / | 默认输出路径(容器中) | TIMEOUT_SEC | 600 | 超时时间(秒) | TIMELAG_SEC | 5 | 循环间隔(秒) | TMP | /tmp | 临时目录 | KERNEL_MAJOR_VERSION | 4.9 | 内核版本 |
在 isolinux.cfg 文件的 APPEND 字符后加入:(键值对使用 = 连接)
名称 | 默认值 | 说明 | 所属命令 | 备注 |
---|
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 | 监听 hosts | containerd | | CONTAINERD_USER | tc | 默认用户名 | containerd | 如果修改需要自己建立用户 | ORG | tinycorelinux | 证书组织名称 | containerd | | SERVER_ORG | tinycorelinux | 服务端证书组织名称 | containerd | | CA_ORG | tinycorelinuxCA | 根证书名称 | containerd | | CERT_DAYS | 365 | 证书有效期 | containerd | | WAIT_LIMIT | 20 | 重试次数极限 | containerd | | SSHD_PORT | 22 | 监听端口 | sshd | |
Q: 可以自定义容器启动顺序吗?A: 可以建立 ~/.container_start 配置文件。 同一行的多个 container id 会被同时启动。 不同行之间可以插入 sleep [sec] 用以延迟启动时机。 用 ! 标记的行,后方的 container id 将不会被启动(每行仅可以使用一个 ! )。 不在配置文件中的 container id 会在最后被同时启动。
e.g.
!0123456789ab cdef01234567 # 不启动89abcdef0123sleep 2 # 间隔 2 秒456789abcdef ba9876543210 Q: 如何加快操作日志记录频率。A: 在 root 用户下,使用 crontab -e 编辑定时任务,加入以下命令:
*/5 * * * * /usr/local/sbin/wtmp 在登陆触发日志记录操作以外,增加每 5 分钟记录一次的操作。 |
请发表评论