安装Alpine Linux¶
备注
在 Alpine Linux快速起步 之后,我决定采用 extended
模式来构建我的集群计算节点。本文为安装实践记录。
最小硬件要求¶
内存: alpine linux字符模式对内存要求100MB,如果是图形桌面则内存要求大大增加,可能会要求至少1GB。我经过考虑到性能最大化,不部署任何多余软件,不安装桌面系统。
硬盘: 根据安装模式不同需要 0-700MB 可写入磁盘空间(只在
sys
和data
模式需要可写磁盘空间),在diskless
模式只需要保存一些较新和配置状态数据
备注
我采用 extended
模式运行Alpine Linux,实际上可以不使用内置硬盘,而是采用非常廉价的外接U盘运行,这样随时可以更换故障节点,无需重装。(当然这也和我规划的 私有云架构 相关)
我选择采用非常小巧的SanDisk CZ430 酷豆U盘,规格32G,只需要 37.90元。

安装介质¶
alpine linux提供了 ISO 安装镜像文件,对于主机,只需要刻录光盘,从光盘启动即可开始安装。不过,对于单板计算机(single-board-computer, SBC)架构,如树莓派,不能从 .iso
镜像启动,需要下载 Alpine for Raspberry Pi tarball
进行手工安装,详细请参考(我还没有实践):
对于 x86
系统安装非常简便,可以将ISO文件 dd
到U盘,从U盘启动安装:
sudo dd if=alpine-extended-3.14.1-x86_64.iso of=/dev/sdb bs=100M
启动系统后,直接进入字符界面,以 root
用户登陆,默认没有密码 (后续在 setup-alpine
交互过程中会配置,见下文)
setup-alpine¶
Alpine Linux使用 setup-alpine
交互脚本来配置、安装整个初始化Alpine Linux系统。
setup-alpine
可以配置安装启动进入3种不同的磁盘模式:
diskless
data
sys
如果在 setup-alpine
交互中选择了 none
来回答 使用哪个磁盘
这个问题,就会进入 disk-less
磁盘模式。在 diskless
模式虽然没有配置磁盘,但是依然可以通过运行 setup-lbu
和 setup-apkcache
来添加持久化配置和软件包缓存存储。然后,可以通过 lbu commit
来保存系统状态。或者使用 setup-disk
命令来添加一个 data
模式分区,甚至可以执行一个传统的完整安装将 diskless
系统安装到一个 sys
磁盘或分区。
备注
我非常看好这个 diskless
模式,本地无磁盘,通过 Ceph Atlas 提供的 RBD 块设备实现分布式存储,这样可以获得高性能、高可用性
磁盘模式详解¶
diskless
模式¶
diskless
模式是.iso镜像启动的默认模式。在 setup-alpine
的安装配置过程中国呢,如果选择了 disk=none
就会采用 diskless
模式。这意味着整个操作系统以及所有应用程序都被加载到内存中并在内存中运行。这种模式非常快并且可以节约不必要的磁盘、电力以及损耗。
用户定制的配置和安装软件包可能可以通过Alpine本地备份工具 lbu
在重启之后恢复。这是通过commit和revert系统状态,使用 .apkovl
文件保存到可写入存储并在启动时加载。如果添加或更新软件包到系统中,可以通过在可写入存储中激活一个 本地包缓存
( local package cache
)可能可以在启动过程中自动重新安装。
备注
将配置和软件包缓存存储到主机内部存储磁盘,则还会需要一些手工步骤来获得分区信息,例如配置 /etc/fstab
挂载点,以及挂载。这个过程需要在运行 setup-alpine
之前完成。
例如,手工编辑 /etc/lbu/lub.conf
设置:
LBU_MEDIA=sdXY
然后执行相应的命令::
echo "/dev/sdXY /media/sdXY vfat rw 0 0" >> /etc/fstab
最后在执行::
lbu commit
来配置分区在启动时挂载。
上述步骤我将实践并记录。
为了允许本地备份, setup-alpine
可以告知系统将配置和包缓存存储到一个可写入分区。例如将分区挂载到 /home
目录或者重要的应用程序的run-time和用户数据。
data
模式¶
在 data
模式下,整个系统也是复制到内存中,然后再运行,所以操作和运行速度和 diskless
模式是一样的。但是,swap存储和整个 /var
分区是挂载持久化存储设备来实现的。这里 /var
目录可以用来存储日志,邮件,数据库等等,就像 lbu
备份commit。
在 data
模式可以充分使用内存来加速系统运行,同时用户数据持久化存储不会丢失。配置方法类似上文 diskless
配置磁盘。
sys
模式¶
sys
模式就是传统的磁盘安装模式。 setup-alpine
脚本会在主机内置磁盘上创建3个分区: boot
, swap 和 /
(根文件系统)。
安装镜像刷磁盘¶
在 linux 或 macOS 中,可以通过 dd
命令将安装镜像刷入到U盘,然后进行上述运行和安装操作:
dd if=~/Downloads/alpine-standard-3.00.0-x86_64.iso of=/dev/sdX bs=4M oflag=sync status=progress; eject /dev/sdX
(可选)检查iso文件和安装磁盘一致性:
cmp ~/Downloads/alpine-standard-3.00.0-x86_64.iso /dev/sdX
启动¶
通过外接上述制作的U盘启动系统,然后执行 setup-alpine
配置磁盘。
如果配置 sys
磁盘模式,则设置完成后就可以重启系统。
如果配置 diskless
或 data
模式,并且你不希望始终从初始安装介质(U盘)启动系统,则需要将 boot
系统复制到其他设备或分区。你可以通过 lsblk
命令 (通过 apk add lsblk
添加) 或 blkid
命令来标识安装介质。
然后执行:
setup-bootable
就可以将boot系统复制
注意,完成上述工作后,请执行 lbu commit
来保存配置,之后才能重启。