ARM移动云Btrfs

Apple ARM架构芯片M1 Pro 的MacBook Pro 2022笔记本上,安装 Asahi Linux ,存储文件系统采用 Btrfs (内核版本升级到6.1之后无法采用 X86移动云ZFS )

前置工作

  • 安装 btrfs-progs 工具:

arch linux安装btrfs工具并加载内核模块
pacman -S btrfs-progs
modprobe btrfs

磁盘分区

移动云计算的磁盘分区

分区名

LVM卷

大小

用途

btrfs-data

50G

个人数据存储

btrfs-docker

48G

/var/lib/docker

lvm-libvirt

216G

用于libvirt的LVM卷(合计)

base-1

16G

基础虚拟机1

base-2

16G

基础虚拟机2

base-3

16G

基础虚拟机3

ceph-1

56G

ceph数据盘1

ceph-2

56G

ceph数据盘2

ceph-3

56G

ceph数据盘3

  • 划分分区:

parted分区: 50G data, 48G docker, 216G libvirt
# 50G data,48G docker,216G libvirt(3个vm 共48G + 3个Ceph存储 168G)
parted -a optimal /dev/nvme0n1 mkpart primary 181GB 231GB
parted -a optimal /dev/nvme0n1 mkpart primary 231GB 279GB
parted -a optimal /dev/nvme0n1 mkpart primary 279GB 495GB
parted /dev/nvme0n1 name 7 btrfs-data
parted /dev/nvme0n1 name 8 btrfs-docker
parted /dev/nvme0n1 name 9 lvm-libvirt
  • 完成后检查 parted /dev/nvme0n1 print 输出信息如下:

parted分区输出
Model: APPLE SSD AP0512R (nvme)
Disk /dev/nvme0n1: 500GB
Sector size (logical/physical): 4096B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system  Name                  Flags
 1      24.6kB  524MB  524MB                iBootSystemContainer
 2      524MB   149GB  148GB
 3      149GB   151GB  2500MB
 4      151GB   152GB  500MB   fat32                              boot, esp
 5      152GB   181GB  29.0GB  ext4
 7      181GB   231GB  50.2GB               btrfs-data
 8      231GB   279GB  48.0GB               btrfs-docker
 9      279GB   495GB  216GB                lvm-libvirt
 6      495GB   500GB  5369MB               RecoveryOSContainer

备注

分区7和8采用Btrfs,另外一个分区9保留给 移动云计算libvirt LVM卷管理存储池

btrfs文件系统

  • 对分区 7/8 进行文件系统格式化,并挂载(启用 lzo 压缩):

对分区 7/8 进行文件系统格式化,并挂载
sudo mkfs.btrfs -f -L data /dev/nvme0n1p7
sudo mkfs.btrfs -f -L docker /dev/nvme0n1p8

# 分区UUID采用 blkid /dev/nvme0n1p7 查看
echo "UUID=efd22ea6-9365-4bc3-a233-e61d1d159fcd  /data  btrfs  defaults,compress=lzo  0  1" >> /etc/fstab
echo "UUID=9dcef08a-a2f4-4128-abb0-2cb6f63644a6  /var/lib/docker  btrfs  defaults,compress=lzo  0  1" >> /etc/fstab

mkdir /data
mkdir /var/lib/docker

mount /data
mount /var/lib/docker

存储使用