Raspberry Piでmdadmを使ったraid1ディスクでTimeMachineサーバ構築のメモ

Raspberry Pi OSをインストールした後の作業メモ

GUIでの設定

ネットワーク設定

とりあえずwifiつなげる

その他

GUIから - sshの有効化 - CUIでのデフォルト起動に変更 - current user(piユーザー)でのデフォルトログインを無効化 - キーボード設定を日本語キーボードに変更

apt upgrade と vimインストール

pi@raspberrypi:~ $ sudo apt update
pi@raspberrypi:~ $ sudo apt upgrade
pi@raspberrypi:~ $ sudo apt install -y vim gnome-screenshot

ユーザーの追加とpiユーザのパスワード変更

FYI: https://qiita.com/R-STYLE/items/b481ba2d695ddf8bcee4

pi@raspberrypi:~ $ sudo adduser watanabe_yusaku
pi@raspberrypi:~ $ sudo gpasswd -a watanabe_yusaku sudo
pi@raspberrypi:~ $ sudo gpasswd -d pi sudo

piユーザーはデフォルトユーザとして何かしらOSのデフォルト設定に絡んでるかもしれないので削除せずにパスワード変更だけしておく

pi@raspberrypi:~ $ sudo passwd pi

固定IPの設定

pi@raspberrypi:~ $ sudo vim /etc/dhcpcd.conf
interface eth0
static ip_address=192.168.11.203/24
static routers=192.168.11.1
static domain_name_servers=8.8.8.8

interface wlan0
static ip_address=192.168.11.204/24
static routers=192.168.11.1
static domain_name_servers=8.8.8.8

再起動後にCUIでログイン

再起動してIP確認

watanabe_yusaku@raspberrypi:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.11.203  netmask 255.255.255.0  broadcast 192.168.11.255
        inet6 fe80::58d9:9e7:854:df74  prefixlen 64  scopeid 0x20<link>
        inet6 2400:4051:23c0:600:6c36:2388:c5:e8ab  prefixlen 64  scopeid 0x0<global>
        ether dc:a6:32:91:39:36  txqueuelen 1000  (Ethernet)
        RX packets 543  bytes 131236 (128.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 149  bytes 22984 (22.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.11.204  netmask 255.255.255.0  broadcast 192.168.11.255
        inet6 fe80::fd63:d724:db0d:fbd5  prefixlen 64  scopeid 0x20<link>
        inet6 2400:4051:23c0:600:225b:bdb7:cad3:d443  prefixlen 64  scopeid 0x0<global>
        ether dc:a6:32:91:39:37  txqueuelen 1000  (Ethernet)
        RX packets 386  bytes 106463 (103.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 35  bytes 4952 (4.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

時刻合わせ

FYI: https://www.xn--tckk6a9dufrb.com/raspberry-piraspbian%E3%81%AEntp%E3%82%B5%E3%83%BC%E3%83%90%E8%A8%AD%E5%AE%9A/

watanabe_yusaku@raspberrypi:~ $ sudo vim /etc/systemd/timesyncd.conf
[Time]
NTP=ntp.jst.mfeed.ad.jp
FallbackNTP=ntp.nict.jp time.google.com

を追記してrestart

sudo systemctl restart systemd-timesyncd
sudo systemctl status systemd-timesyncd

で確認するとSyncronizedになっていたが、TimezoneがUSになっていたのでraspi-configから 4 Localisation Options -> I2 Change Timezone でTokyoに設定したら時間が正しくなった

mdadmインストールとraid1デバイスの復旧

/dev/sda1と/dev/sdb1は既にmdadmでraid1デバイスとして構築されているものを再度assembleする。 新たにmd0デバイスを構築する場合はこっちを参考に

watanabe_yusaku@raspberrypi:~ $ sudo apt install -y mdadm
watanabe_yusaku@raspberrypi:~ $ sudo mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1
mdadm: /dev/md0 has been started with 2 drives.

watanabe_yusaku@raspberrypi:~ $ cat /proc/mdstat
Personalities : [raid1]
md0 : active (auto-read-only) raid1 sda1[0] sdb1[1]
      976629440 blocks super 1.2 [2/2] [UU]
      bitmap: 0/8 pages [0KB], 65536KB chunk

unused devices: <none>


watanabe_yusaku@raspberrypi:~ $ sudo mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Tue May 19 05:30:38 2020
        Raid Level : raid1
        Array Size : 976629440 (931.39 GiB 1000.07 GB)
     Used Dev Size : 976629440 (931.39 GiB 1000.07 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Fri May 22 18:45:33 2020
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : raspberrypi:0  (local to host raspberrypi)
              UUID : 30e8a7d7:7fe4d381:3a337844:d762b48f
            Events : 10672

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1

/dev/md0のマウント

watanabe_yusaku@raspberrypi:~ $ sudo mkdir /data
watanabe_yusaku@raspberrypi:~ $ sudo chmod 777 /data
watanabe_yusaku@raspberrypi:~ $ sudo mount -t ext4 /dev/md0 /data

TimeMachineサーバ設定

netatalkのインストール

watanabe_yusaku@raspberrypi:~ $ apt install -y netatalk
watanabe_yusaku@raspberrypi:~ $ sudo vim /etc/netatalk/afp.conf
;
; Netatalk 3.x configuration file
;

[Global]
; Global server settings
mimic model = TimeCapsule6,106
mac charset = MAC_JAPANESE
log file = /var/log/netatalk.log

; [Homes]
; basedir regex = /xxxx

; [My AFP Volume]
; path = /path/to/volume

[TimeMachine]
valid users = watanabe_yusaku
path = /data/timemachine
time machine = yes

time machine = yes を書くの忘れててTimemachine設定の バックアップ用デスク選択の一覧に表示されなくてだいぶ時間とられた

再起動

watanabe_yusaku@raspberrypi:~ $ sudo service netatalk restart

確認

MacからTimeMachineの設定からディスク選択を確認すると表示されていることを確認