microSD
NanoPI,
SSD,
HDD,

NanoPIでHDD/SSDを活用する

はじめに

NanoPIにはNAS kit が存在し、簡単にHDD/SSD(以下単にSSD)を搭載できます。
現在、SSDから起動する方法は見つかっていませんが、固定領域を残し、可変領域をすべてSDDに移せばmicroSD(以下単にsd)はRead Onlyになり、書込み過多によるトラブルはなくなります。
FB NanoPIの部屋の成果物です。
NanoPIでHDD/SSDをROOT partitionにするにその後の成果をまとめました。どちらを適用するかはご自身で判断してください。

Backup

ddrescueでSDをコピーします。

設定方法

fdiskの実行

私は32GBのSSDを使いました。
fdiskで6つのパーティーションに分けました。

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1           2048  8390655  8388608    4G 83 Linux
/dev/sda2        8390656 12584959  4194304    2G 83 Linux
/dev/sda3       12584960 46139391 33554432   16G 83 Linux
/dev/sda4       46139392 61865983 15726592  7.5G  5 Extended
/dev/sda5       46141440 50335743  4194304    2G 83 Linux
/dev/sda6       50337792 52434943  2097152    1G 83 Linux
/dev/sda7       52436992 61865983  9428992  4.5G 83 Linux

mkfsとコピー

mkdir /a
mkfs -t ext4 /dev/sda1
mount /dev/sda1 /a
rsync -av /usr/* /a
umount /a
mkfs -t ext4 /dev/sda2
mount /dev/sda2 /a
rsync -av /mnt/* /a
umount /a
mkfs -t ext4 /dev/sda3
mount /dev/sda3 /a
rsync -av /var/* /a
umount /a
mkfs -t ext4 /dev/sda5
mount /dev/sda5 /a
rsync -av /home/* /a
umount /a
mkfs -t ext4 /dev/sda6
mount /dev/sda6 /a
rsync -av /root/* /a
umount /a
mkswap /dev/sda7

/etc/fstab の変更

/dev/mmcblk0p1 /boot vfat defaults 0 0
/dev/sda1 /usr ext4 defaults 0 1
/dev/sda2 /mnt ext4 defaults 0 1
/dev/sda3 /var ext4 defaults 0 1
/dev/sda5 /home ext4 defaults 0 1
/dev/sda6 /root ext4 defaults 0 1
/dev/sda7 none swap sw 0 0
tmpfs /tmp tmpfs defaults 0 0
```

試験のための再起動

reboot
立ち上がってコマンドが実行できれば合格です。
df -h

Filesystem      Size  Used Avail Use% Mounted on
udev            231M     0  231M   0% /dev
tmpfs            49M  4.2M   45M   9% /run
/dev/mmcblk0p2  7.2G  115M  7.1G   2% /
/dev/sda1       3.9G  1.5G  2.3G  39% /usr
tmpfs           242M     0  242M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           242M     0  242M   0% /sys/fs/cgroup
tmpfs           242M     0  242M   0% /tmp
/dev/mmcblk0p1  100M   17M   83M  17% /boot
/dev/sda6       976M  8.8M  900M   1% /root
/dev/sda2       2.0G  519M  1.3G  29% /mnt
/dev/sda5       2.0G  243M  1.6G  14% /home
/dev/sda3        16G  726M   15G   5% /var
tmpfs            49M     0   49M   0% /run/user/0

不要データーの消去

ここまで来ればssdに移動したsdのデーターは不要です。

mount /dev/mmcblk0p1 /a
cd /a
rm -r usr
mkdir usr
rm -r mnt
mkdir mnt
rm -r var
mkdir var
rm -r home
mkdir home
rm -r root
mkdir root

rebootします。

結論

あっさりSSD Machineになりました。