kenkino’s diary

おそらく技術・グッズ・自転車系 ※当ブログは、Amazonアソシエイトやその他アフィリエイト等の収益メディアを表示しております。

raspberry pi でMacのバックアップサーバを作ってみる

内容

Macのバックアップどうしてる?

現在、自分使いのメインPCはMacBook Proで色々活用しているといった具合で、色々と便利なのではあるが「ちょっとここら辺どうしよう?」という部分もなくはない、その内の一つとしてあるのが現在使っているデータ等のバックアップである。

Mac公式では

macOSにはTimeMachineというバックアップ機能があり、外付けストレージもしくはmacOSのバックアップに対応しているNASをバックアップの対象に指定すれば、自動的に現在使っているmacOSの情報を定期的にバックアップする仕組みがあり、トラブルでMacにOSからインストールしなければならない場合でもTimeMachineでバックアップを取ってあれば復元できるという便利な機能である。

しかし、外付けストレージは据え置きの型のiMacMac Proならいいが、MacBook系で頻繁に持ち運ぶ場合、一旦外付けストレージをOSから取り外し&物理的に取り外してて持ち運ばないと何かの拍子にストレージが外れた場合、ストレージ内のアクセス情報に問題が生じてアクセスできなくなったり、書き込み途中のデータ情報の矛盾が生じてデータが読めなくなったりHDDの場合だとごく稀にヘッドが記録面に接触してに破損するすることがある。

SSDなら機械的な動作機構もないので大丈夫だろう」と考える方もいるかもしれないが、書き込み途中でストレージが外れてしまった場合のデータ情報の矛盾については状態が小規模であれば修復してアクセスするのだが、それらが修正しきれないものになるとのOSがそれを検知した時点でストレージを読まなくなることが多いのでSSDでも結構危険だったりする。

Windows に関しては最近抜き差ししても問題ないということをアナウンスしているようだが、アクセスを行っている際に抜き差しするとやはり問題があるようなのでやはりUSBで接続したストレージデバイスは雑に扱わない方がいいだろう。

ということでUSBメモリースティックとかではともかく、ケーブル経由で繋いでいるストレージだと何かの拍子にケーブルが外れる場合もあり、持ち運びを考えるとちょっと手間だったりする。

かといってNASを使おうとすると、バックアップだけではなく他の用途に使いたくなったりするのが人情で、そうなると選択に困ってしまうという事もあるかもしれない。

丁度いいのがないなら作ってみよう

「一々ストレージ外すのも面倒くさいし、かといってNASをバックアップに使うのはなぁ」と思っていたのだが自宅に何も使っていないRaspberry Pi 4が転がっており、「これにUSBストレージ繋いで使うとよくないか?」ということでRaspberry Pi 4でMacBook Proのバックアップサーバーを作ってみよういうことで情報を集めていたところお手軽そうな方法があったので、その方法を元に作ってみることにした。

qiita.com

これから説明となる前に最初に断っておくが、これは自分の環境でこのようにすれば動作したという記録なので挑戦する場合は自己責任ということでお願いしたい。

まず必要なものとしては、これらになる。

Raspberry Pi 4 : 今回使ったのは自宅に転がっていた2GBモデル

USB接続ストレージ : 自分が使っているMacのストレージの2倍の容量のモノを用意

Raspberry Piについては3までは、USBは2.0でLANについては100MbpsでLANについてはまぁまぁといったところだったがUSBについては、遅くはないが100GB以上を保存するとなるとどうだろうといったところではあった。

しかしRaspberry pi4になってからLANは1Gbps、USBも3.0となりその部分の心配はあまりせずに使えるものになってきている、これくらいの性能だとちょっとした用事を済ますためのPCとしても使えそうで、今後そういう用途で使い始めるところも出てくるだろうと思う。

USBストレージについては、大昔からある「バックアップデバイスはPC内蔵ストレージ容量の2倍の容量を用意すべし」という原則に基づき内蔵ストレージ容量の2倍サイズのUSB3.0接続モバイルHDDを用意した。

予算を注ぎ込めるのであればUSB3.0接続のモバイルSSDでも良いかもしれないが、一つご注意を。

最近通販でTBと表記があっても実際の容量はかなり少ないSSDバイスが出回っており、しかも大手通販サイトで頻繁に掲載されているため購入する際は注意が必要になる。

見分けるポイントとしては、通販サイト内でブランドメーカー(ウェスタンデジタル(WD)、SanDisk、Crucial等)の同じ容量の製品の10分の1くらいの価格で出ており、ブランドメーカーの同容量の製品と比べて異常に安いのならその製品は購入を見合わせた方がいいだろう、判断を付けられる自信がない場合は家電量販店で購入するのが確実である。

USBストレージの初期設定

まずは、USBストレージを接続、Finderを立ち上げて

  • アプリケーションをクリック
  • 一覧の下にある[ユーティリティ]をクリック
  • 表示される一覧から[ディスクユーティリティ]をダブルクリックして起動

ディスクユーティリティを開いたら接続されているUSBストレージをクリックして[消去]ボタンをクリック。フォーマット形式は[Mac OS 拡張(ジャーナリング)]を選択して[消去]ボタンを押して消去とフォーマットを行う。

消去後、FinderでUSBストレージを右クリックして情報を表示してデバイスの書き込み権限で「everyone」に対して「読み/書き」の権限を設定した後USBストレージを取り出す。

raspberry pi の設定

Raspberry pi 4についてはmicroSDraspberry pi OSを書き込んで起動し、セキュリティやネットワーク等について設定しておく

パッケージのインストール

設定が終わったら下記のコマンドでパッケージをインストール

# apt install avahi-daemon
# apt install hfsprogs hfsplus ←Macでフォーマットしたストレージの中身を閲覧できるようにするパッケージ
# apt install netatalk ←Macで使われるネットワークファイルシステムサーバーとして動作するパッケージ

USBストレージの接続設定

USBストレージのマウント用ディレクトリを作成する。

# mkdir /media/timemachine ←USBストレージマウント用ディレクトリ

その後raspberry pi にUSBストレージを接続して 下記コマンドでUSB HDDのIDを確認

$ blkid

表示されたストレージ一覧でhfsplusと表示されたストレージのIDを控えて /etc/fstabに記述する

UUID=USBストレージのID  /media/timemachine  hfsplus force,rw,user,auto,nofail 0 0
             ↑マウントするディレクトリ

下記コマンドを実行したあと

# mount /media/timemachine

下記コマンドの表示で /media/timemachineが表示されていれば問題はない

# df 

その他の設定

これまでの作業が終わったら下記ファイルを作成・設定する

/etc/netatalk/afp.conf 一番最後の行にTimeMachineとして使うディレクトリとTimeMachineとして使用可能とする設定を入れる

[TimeMachine]
  path = /media/timemachine
  time machine = yes

/etc/nsswitch.conf hostsの行にmdns4とmdnsを追加(mdns4はいらないかもしれない)

# hosts:          files mdns4_minimal [NOTFOUND=return] dns
hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns

/etc/avahi/services/afpd.serviceというファイルを作成、内容についてはqiitaの記事にあった通りにした。

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
    <name replace-wildcards="yes">%h</name>
    <service>
        <type>_afpovertcp._tcp</type>
        <port>548</port>
    </service>
    <service>
        <type>_device-info._tcp</type>
        <port>0</port>
        <txt-record>model=TimeCapsule</txt-record>
    </service>
</service-group>

サービス起動

これまでの設定が終わったらサービスを起動してみる

# service avahi-daemon start
# service netatalk start

サービスのステータスを確認してactiveであれば動作している

# service avahi-daemon status
# service netatalk status

下記コマンドで raspberry pi 起動時にサービスが起動するようになる。

# systemctl enable avahi-daemon
# systemctl enable netatalk

使ってみる

Qiitaではraspberry piへ接続するという作業が必要とあったが、自分の環境ではraspberry pi でサービス起動後Macの方で見つけて接続できたので下記の作業を行なった。

  • Macの「システム設定」→「一般」→「Time Machine」でバックアップの設定を開く
  • +をクリックしてraspberry piにマウントしたディスクが出てくるのでバックアップ用に設定

しばらくすると、バックアップ用に指定したディスクにバックアップが開始される。

といったところで、これらの設定で raspberry piMac用のバックアップサーバとしての構築は完了である。

しかし、現在このような構成を組もうとするとRaspberry pi 自体が品薄なのに加えて価格が高騰しており、USB接続のストレージやその他の手間を考えると安いNASを購入してMacのバックアップ専用にした方が良いかもしれない。

自分の場合、たまたま自宅にRaspberry pi 4があり、USBストレージも何故か安く手に入ったのでやってみたといったところだが、こういうことをすることにより色々とOSやストレージ・ネットワークの勉強になる面もあるので、挑戦したい方はやってみるのが良いのではと思っている。

しかし先日この報告をとあるLinuxユーザーズグループに出した際「Sambaを使った方がいいのでは?」という指摘もあり、こちらの方も機会があったら挑戦してみようかと考えていて、それが成功した場合そちらの方も報告しようかと思う。

寒さ対策にハッキンカイロを使ってみる

内容

試される冬がやってきた

今シーズン、物価高やら電気料金高騰で節約を考えなければならない冬となってしまった。節電要請とかいっているが「電気代も燃料費も上がっていて無駄遣いできるかっ!!」といったところが実際だと思う。

巷では重ね着やタートルネックやらという話もでてきており、自分も昨シーズン購入した体温反射式のブランケットやインナーシュラフを活用しながらできるだけ電気やガスを使わない毎日を過ごしているのだが。

やはり寒いモノは寒いワケで「これからもっと寒くなる中それだけではやっていけんよなぁ・・・」となるワケで、自宅にあるハクキンカイロを引っ張り出して今年も使うことにした。

ハクキンカイロとは

「ハクキンカイロ」と聞いて大抵の人は後ろの「カイロ」という言葉を聞いて「携帯して温める道具」ということは想像できるかと思うのだが、前の「ハクキン」という言葉を聞いて「???」となる方が多いかもしれない。

「ハクキン」とは漢字では白金と書くのだが「プラチナ」の日本での呼び名であって、材料にプラチナを使用していることからこの名前が付いている。

使い捨てカイロが普及する前はかなり使われていたのだが、簡単に使える使い捨てカイロが広まるとほとんど見なくなってしまった。しかし使い捨てカイロより発熱量が多いことや燃料(後で書くが厳密には違う)を補充すれば何度も使えるということで、未だに需要もあるといった製品である。

詳細

形としては、手のひらサイズのステンレス製の印籠といったところで

上の方がフタになっていてそれを外すと火口と呼ばれる部分がある

その部分を外すと脱脂綿のようなのが詰まった中身が見えるのでそこに揮発性の燃料を染み込ませて火口を戻してライターとかで火口を炙ると温まり始めるので、フタを付けてハクキンカイロ用の袋に入れて携帯するというものである。

揮発性の燃料とか火口という言葉から「燃料が燃えて温かくなるのか?」と思う方がいるかもしれないが、実際のところ火口を温めることにより火口に付けられているプラチナが触媒反応で燃料の揮発した蒸気を水と二酸化炭素に分解して熱を出すという仕組みである。

よく「ハクキンカイロはエコ」という話があるが、直接灯油やガスを燃やすストーブやヒーターに比べると圧倒的に出るCO2は少ないが、燃料が石油由来なのは確実なのでホントにエコなのか?というと「う〜んどうとでも言えるのでは」といったところになるのではないかと思う。

燃料は、ベンジンという揮発性の液体で昔はドラッグストアに行くと大抵一本800円くらいで売っていたのだが、最近は可燃物を取り扱わない方向になっているのか見掛けることがなくなり、現在は通販で購入している。ハクキンカイロ一つにつきボトル一本で毎日使って1ヶ月くらいと考えるといいかと思う。

持続時間は、スタンダードサイズで最大24時間ということなのだが、自分が使っている範囲では時々二日ぐらい暖かいのが持続していたり、逆に20時間くらいで冷えてたりすることもあるが温かさと持続時間は使い捨てカイロより圧倒的に上で、温かすぎて専用の袋に入れているのに低温火傷することもあるので注意が必要である。

もう一つ注意点としては、触媒反応は温度が下がると反応が低くなって止まってしまうので「外に放置していても冷えない」という人がいるのだが、冷えたところに置きっぱなしにしていると反応が止まって冷えてしまうことがあるので、インナージャケットのポケットやハクキンカイロのネットショップで販売している専用のベルトに入れてシャツの上からつけておいた方がいいと思う。

効果は?

効果としては使い捨てカイロあたりだと手で触ると温かいくらいというのが多いが、ハクキンカイロは入れた部分の周辺が温かくなり暖房がないところで動き回るのであればかなり効果を感じることができる。

自分の場合、自宅ではダウンジャケットのポケットに入れて使っているが、自転車に乗るときに使う場合は以前暑さ対策グッズで紹介した冷却バックを入れるタイプのベストがたまたまハクキンカイロを入れるのにジャストサイズで、インナーシャツを着た後に脇の部分に二個のハクキンカイロを入れたベストを装着してその上からジャージを着て必要ならアウターを着て自転車に乗っている。

熱でベストが融けてしまわないか心配なのだが今のところは大丈夫そうなのでそのまま使っているが、実際に使う場合はその点は十分注意した方がいいだろうと思う。しかし以前は動き出すまでかなり寒さに参っていたがこうすることによりかなり温かく走れるようになったので「耐熱素材でできたこの手のベストが出てきてくれないかな〜〜」と思っていたりする。

どこで買う?

これまで語ってきたように、効果的なハクキンカイロだが購入したい場合、店舗等ではアウトドア系のショップかホームセンター等辺りにあるのではと思う。

通販の場合では、AmazonやYahoo、楽天アフリエイトを貼っている身で恐縮だが、ハクキンカイロは公式の通販サイトで購入した方がお得だと思う。

www.hakukin.co.jp

公式通販サイトでは他の通販では購入できない製品を販売していたりし、価格も公式通販サイトだけあって定価ではあるが、製品も公式の製品なので安心ができるという意味でオススメできるのではと思う。

来年はハクキンカイロの製造会社が設立100周年ということでTwitterで記念アカウントも作られており、もしかしたら100周年記念で何か記念グッズが出てくるかもしれないので、そういうのが好きな方はチェックしておいた方がいいかもしれない。

raspberry piネットワークモニタが立ち上がらなくなったのでUSB起動を試してみる

内容

トラブルは間の悪い時にやってくる

ある日、ふと「ネットワークの状況をチェックしよう」と思ってWebブラウザでネットワークモニタにアクセスしたところ何故か「サーバーに繋がりません」との表示が。

「あれ?落ちてる?」と思いネットワークモニタにしているraspberry pi 4 の電源ランプとmicroSDアクセスランプがついており「フリーズしてるのか?まぁ再起動すれば治るか」ということで再起動したのだが、電源ランプとmicroSDのランプを見た限りでは正常に起動しているように見えるのだが、ネットワークモニタが起動した気配がなく「う〜んどうなってるんだろう?」ということでディスプレイを繋いで起動してみた。

起動したところ、OSの起動途中でkernel panicが発生しており「microSDがダメになったのか・・・まぁ代わりのがあるし」と別のmicroSDRaspberry PI OSを入れて起動したのだがこれもkernel panic

「ん?」と思い丁度raspberry pi 3で動いていたmicroSDがあったので差し替えて起動したところこれもkernel panicで立ち上がらないという状況にorz

「ひょっとして本体が逝った?」と思い別のraspberry pi 4を購入しようとしたが、昨今の半導体不足でraspberry piも煽りを受けてすぐに購入できる状況ではなく「うわぁ〜〜どうする」と考えていたところ、しばらく前のOSCでAkkiesoftさんが「raspberry pi 4の最新ファームの機能としてネットワークインストール機能がある」という話をしていたのを思い出し

akkiesoft.hatenablog.jp

「まぁ、ネットワークインストールが可能ならそれでUSBメモリにインストールすれば立ち上がったりしないか?」ということで試してみた。

USB起動が成功するまでの道のり

ひとまずUSB起動をするためにUSBメモリを購入することに、刺した後にあまり邪魔にならないように小さめのメモリを購入。

今時の64GBUSBメモリのサイズに驚くに加えて、購入後にUSBメモリの外側が全て樹脂製ということにビビる「熱暴走時に燃えたりしないか」と一瞬心配になったが、まぁ実績のあるストレージメーカの製品なので大丈夫だろうとということで使用することに。

そしてネットワークインストールのための情報収集、大元のAkkiesoftさんのスライドを見ていたのだが「Raspberry pi OSを起動してファームウェアを最新にする」というところで詰んだ感がorz

Raspberry PI OSが起動しない状態でどうしろと・・・」一瞬唖然となったが「Raspberry PI OSを起動しないでファームをアップデートする方法はないのか?」と探してみたところ幾つか方法があるようでチェックしたところアップデートしたファームをインストールするイメージをライティングソフトでを使ってmicroSDへ書き込みraspberry pi 4を起動するという方法を見つけた。

www.fastoe.com

ということでMac用のライティングソフトを使ってmicroSDにアップデート用のイメージを書き込みを行い起動。

起動後書き込みに成功すると画面が緑色になるとのことで「OSが立ち上がらないのに上手くいくのだろうか?」と思ったがディスプレイをみたところ無事に緑色になった。

一旦電源を切ってmicroSDを抜いて起動したところインストーラーが起動USBメモリを指してインストーラーを操作したところ無事に認識。

USBメモリRaspberry PI OSのインストールを行い「これでOSが立ち上がるかな」と思ったのだが再起動後何故かインストーラーが起動orz

「う〜んここまでか」となったのだが調べたところライティングソフトで特定のboot方法で起動するモードに書き換えられるmicroSDを作れるという情報があり、microSDにUSBデバイスからブートするイメージを書き込みraspberry pi 4に差し込んで再度起動ファームのアップデートと同じく画面が緑色になったところで電源を落としてUSBメモリを差し込んだところ無事に起動することができた。

起動後のあれこれ

起動後、ユーザー設定やセキュリティの設定を行った後、ntopngのインストールを行うとしたが何故かこんなメッセージが・・・

# apt install ntopng
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package ntopng is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
\
E: Package 'ntopng' has no installation candidate

一瞬焦ったがntopngのWebページでインストール方法を参照したところ、どうもインストール方法が変わったようでコマンドラインで下記コマンドを入力を行ってインストール

# wget https://packages.ntop.org/RaspberryPI/apt-ntop_1.0.190416-469_all.deb
# dpkg -i apt-ntop_1.0.190416-469_all.deb
# apt update
# apt install ntopng nprobe n2n

ということで、これまでのデータは無くなってしまったが無事にネットワークモニタが復旧した。

それにしても何故microSDで動作不良になってしまったのかと思いログをみたところ「・・・Voltage normalised ・・・・」というログが頻発しており、調べてみたところどうも電源周りのエラーで「う〜んraspberry pi 4向けの推奨ACアダプターを繋いでいるのだが」と思ったのだが、自宅で使用しているもう一台のraspberry pi 4(これについては後日書く予定)はほぼノートラブルで動作していることから、認定リセラーではないのだがraspberry pi関係の機器を取り扱っていて結構お世話になっている業者さんのACアダプターにかえたところほぼ問題なく動作している。

microSDから起動できない状態というのはちょっと不安なのだが、現状動かしている限りではほぼ問題なく動作しておりraspberry piの供給が安定するまでこのままにしようかと考えている。

microSDで起動しなくなったとしてもUSBが余っていればこの方法で動かすことができるかもしれないので、壊れたかもと思っておいてあるraspberry pi 4があったら試してみる価値があるのではと思う。ただし、動作を保証するものではないのでその辺りは自己責任にて試していただきたい。

暑さ対策グッズを試す ~ サンコーネッククーラーPro R4 ~

簡単なまとめ

  • サンコーのネッククーラPro R4はガンガン冷やすわけではないが首を冷やす暑さ対策グッズとしてはかなり効果的
  • 普通のモバイルバッテリーでも加熱せずに給電も可能
  • ただし本体サイズや取り扱いについては思い切りや慣れが必要

内容

今年はどうする?

これまでペルチェ素子を使った暑さ対策グッズとして

一昨年サンコーのネッククーラーNeoを購入。

kenkino.hatenablog.jp

去年はペルチェ強化型のネッククーラーを購入。

kenkino.hatenablog.jp

とりあえず普段使いはネッククーラーNeo、大容量バッテリーを持ち歩けるならペルチェ強化型と使い分けていて「今年はいいかな?」と考えていたのだがサンコーのサイトをチェックしていると新しいネッククーラーが出るとの告知が、今回はスリム型とプロ仕様が出るとのことでどのような製品なのか見てみた

スリム型

  • 付属のバッテリーとモバイルバッテリー使用可能
  • モバイルバッテリーを使用するときはリモートコントロールアダプタが必要だが、本体からリモートで操作可能

プロ仕様

  • 首の全周にペルチェ素子が配置
  • モバイルバッテリー使用可能
  • 基本防水仕様、別売パーツで防水機能の強化に加えて防塵機能も追加

どちらにするか迷ったのだが 「迷ったらいいモノを買っておけ」ということでプロ仕様の方を購入してみた。

モノ概要

モノとしては、コントローラー兼用のバッテリー装着部分をベースにしてペルチェ素子のアームが出ているという構造、アームは普段は折り畳まれており付ける時にはアームを展開して首に付ける仕組みになっている。

これまでのネッククーラーではペルチェ素子は前に2つのみもしくは前に2つ、後ろに1つという配置が大半だったが、この製品は前に2つ後ろにも2つという配置で首の後ろも前と同様に冷やすことが可能となっている。

更にアームには付属の脱落防止用のストラップも取り付け可能で、ある程度激しい動きでも問題なく使えるようになっている。

付属のバッテリーはベース部分に差し込んだ後、金属フレームで固定する構造となっている。

少し驚いたのが電源の接続方法で、付属のバッテリー・外部バッテリー共にUSBケーブルでベース部分のUSB Type-Cコネクタに接続するという仕様になっており「付属のバッテリーは専用コネクタで付けてもよかったのでは?」と思ったのだが、想定されている使用場所が塵とかが多い工事現場等であることを考えると、専用コネクタのような塵が入ってトラブルになる部分を極力減らしたかったということなのかもしれない。

動作に関しては首の後ろにあたるバッテリー装着部分にスイッチがあり、短く押すことで電源ON・モードの切り替えを行える。

付属のバッテリーでは

  • 強 → 弱 → ハイパワー

モバイルバッテリーでは

  • 強 → 弱

のループとなり、スイッチ長押しで電源OFFとなる。 そして、強と弱ではランダムに温度を変化させて冷やし続ける事による冷感の慣れを防ぐようになっているらしい。

購入前にいくつかレビューがあり、読んでいたところで自分と似たようなペルチェ強化型ネッククーラーを使っている方が「これまで首の後ろにペルチェ素子がある製品より冷えない」の意見があった。

それに対しては、個人的な推測となるのだが、これまでの強化型はペルチェ素子の性能向上分を消費電力に構わず更なる冷却性能に振って「冷えるが、電源もそれなりのモノを使う」仕様にしていたのに対して、この製品は「冷却性能は維持もしくは若干向上として普通のモバイルバッテリーを使える様にしたり冷やす部分を広げるなどして汎用性を上げる」仕様にしたためでははないかと考えられる。

使ってみて

着けたところ首の周りがペルチェ素子で囲まれていることもあり、これまで前だけ冷えていたのが首の周りが冷える感覚でペルチェ素子を増やした効果をかなり感じることができており、ランダムに温度が変化する機能も効いているのか冷えている感覚の持続している感覚もNeoよりもあるといったところである。

動作時間については付属の3.7V/5800mAhバッテリーだけで使ってみたところバイト先への行き帰りの往復(2時間弱)はもちろん、2時間半のサイクリングの定番コースを走っても動作していたのでそれくらいの使用時間であれば付属のバッテリー十分かと思う。

Neoで使っていた3.7V/10000mAhモバイルバッテリーをつないで使ってみたがペルチェ強化型のネッククーラーのように加熱すること無しに動作しており、加えて動作音もNeoに比べると小さくなっていて電車の中で使っても音が気になるということもないかと思う。

スイッチに関してもスイッチ部分が大きいため手を首の後ろに持っていくだけで簡単に切り替えられるので意外と使い勝手がいいと感じており、総じて実用性が上がっていると感じた。

ただし色々と良くなってはいるものの、気になる点もいくつかある。

1つは全体的にゴツい、工事現場等で使う想定なので仕方ないと思うが普通に着けていたらかなり目立ってしまうというのがある、まぁ自分の場合はこれを着けたまま都心のオフィス街を歩いているが視線は気にしないことにしている。。。

もう1つは電源を入れる時なのだが、付属のバッテリーと本体をつないでバッテリーのインジケータが点灯している間にスイッチを入れないと電源が入らないというもので、これは自分が購入した個体に問題があるのか仕様なのかが分からないが、自分的にはバッテリーを繋いだらすぐに電源を入れるようにしているため、そのまま使っている。

と上のように書いていたのだが確認したところ、一旦バッテリーを長押しした後にスイッチを入れると問題なく動作するようでここは自分の確認不足だったらしい・・・

まとめ

昨今、この手の製品は色々出てきているがその中でこれを勧められる点としては。

  • 首の周り全体をそれなりに冷やせるタイプで通常のモバイルバッテリーでも使える
  • 付属のバッテリーだけでもかなり使える

というならネッククーラPro R4で

  • 首周りをガンガンに冷やしたい
  • 冷大容量・高出力バッテリーの持ち運びが苦にならない

という方はペルチェ素子強化型でいいのではと思う。

この辺りは個々人の判断か大きいところだと思うので何ともいえない部分ではあるが、個人的には今回購入したネッククーラーには総じて満足しており、今年の夏はこれを活用していこうかと考えている。

今回紹介した製品

MINISFORUM EliteMini HX90 に仮想化環境を構築する(カスタムインストーラーで構築成功編)


MINISFORUMへの仮想化環境構築の完結編です。

内容

MacVMwareの公式のESXiのインストールISOファイルからインストールUSBを作成してMINISFORUMにインストールして失敗

kenkino.hatenablog.jp

インストールするならカスタムインストーラーを作る必要があるということでカスタムインストーラーについて情報を探した。

作成情報の収集 

始めは「ISOの内容をコピーしたUSBメモリに対応するドライバファイルを置けばいいのかな?」と考えていた。 ネットでESXiのカスタムインストーラーの作成方法をみてみたところ下記のサイトが良くまとまっていたので読んでみた

github.com

サイトによるとVMwareCLIツールであるPowerCLIを使う必要があるとのことで「えっ、PowerCLIって確かWindowsしか動かないんだよな?」と思い調べたところ、最近のPowerCLIはMacでもインストールできるようだったが肝心のインストーラー作成はWindows版でしか出来ないとのことで諦めてMacParallelsにあるWindowsを立ち上げて作業することにした。

カスタムインストーラー作成前に

作業に入る前に予め、ESXiのインストールイメージ、コミュニティ版のNICドライバ・NVMeドライバ等をダウンロードしておく ESXiのインストールイメージはESXiのダウンロードする際にOfflineBundleという名前のzipファイルをダウンロード

コミュニティ版のドライバは下記のサイトに入ってESXiの項目をクリックするとESXiに関連したソフトの一覧が表示されるのでその中にある

  • USB Network Native Driver for ESX
  • Community NVMe Driver for ESXi
  • Community Networking Driver for ESXi

を参考サイトを元にダウンロードした。

flings.vmware.com

PowerCLIのインストール

PowerSchellのターミナルを管理者権限で起動し

下記コマンドでPowerCLIをインストールする

> Install-Module -Name VMware.PowerCLI

PowerCLIの動作する際のセキュリティ警告を無効にする、Set-ExecutionPolicyで質問されるので[Y]を入力

> Set-ExecutionPolicy RemoteSigned
> Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false

カスタムインストールの作成

インストーラーの作成手順は参考にしたサイトの手順に従って

1.インストールイメージを読み込む

 > Add-EsxSoftwareDepot -DepotUrl .\VMware-ESXi-7.0U3c-19193900-depot.zip

Depot Url
---------
zip:C:\ESXi_custom\VMware-ESXi-7.0U3c-19193900-depot.zip?index.xml

2.イメージの確認一覧で表示されたイメージでstandard書かれたイメージを使う

> Get-EsxImageProfile

Name                           Vendor          Last Modified   Acceptance Level
----                           ------          -------------   ----------------
ESXi-7.0U3c-19193900-no-tools  VMware, Inc.    2022/01/12 0... PartnerSupported
ESXi-7.0U3c-19193900-standard  VMware, Inc.    2022/01/18 0... PartnerSupported ←これを使う

3.使用するイメージを設定

> $ip = (Get-EsxImageProfile)[1]

4.USB NICドライバを登録

> Add-EsxSoftwareDepot -DepotUrl .\ESXi703-VMKUSB-NIC-FLING-51233328-component-18902399.zip

Depot Url
---------
zip:C:\ESXi_custom\ESXi703-VMKUSB-NIC-FLING-51233328-component-18902399.zip?index.xml

5.コミュニティ版ネットワークカードドライバを登録

> Add-EsxSoftwareDepot -DepotUrl .\Net-Community-Driver_1.2.2.0-1vmw.700.1.0.15843807_18835109.zip

Depot Url
---------
zip:C:\ESXi_custom\Net-Community-Driver_1.2.2.0-1vmw.700.1.0.15843807_18835109.zip?index.xml

6.コミュニティ版NVMeドライバを登録

> Add-EsxSoftwareDepot -DepotUrl .\nvme-community-driver_1.0.1.0-3vmw.700.1.0.15843807-component-18902434.zip

Depot Url
---------
zip:C:\ESXi_custom\nvme-community-driver_1.0.1.0-3vmw.700.1.0.15843807-component-18902434.zip?index.xml

7.ドライバが登録されたか確認

> Get-EsxSoftwarePackage | ft -AutoSize

ドライバ一覧が表示されるが下記があることを確認

  • nvme-community
  • net-community
  • vmkusb-nic-fling

8.新しいイメージプロファイルを作成

> $ip2 = New-EsxImageProfile -CloneProfile $ip -Name MINISFORUM-HX90-7.0.u3c -Vendor kwmtlab -AcceptanceLevel CommunitySupported

9.ドライバをイメージプロファイルに登録

> Add-EsxSoftwarePackage -ImageProfile $ip2 -SoftwarePackage nvme-comunity,net-community, vmkusb-nic-fling
\
Name                           Vendor          Last Modified   Acceptance Level
----                           ------          -------------   ----------------
MINISFORUM-HX90-7.0.u2c        kwmtlab         2022/02/06 1... CommunitySupported
> Export-EsxImageProfile -ImageProfile $ip2 -FilePath .\MINISFORUM-HX90-7.0.u2c.zip -ExportToBundle

10.イメージプロファイルからISOイメージを作成

> Export-EsxImageProfile -ImageProfile $ip2 -FilePath .\MINISFORUM-HX90-7.0.u3c.iso -ExportToISO

しかしISOイメージの作成で下記エラーが表示されてしまい失敗してしまった。orz

Export-EsxImageProfile : Error retrieving file for VIB 'VMW_bootbank_vmkusb-nic-fling_1.8-3vmw.703.0.15.51233328': ("<z
ipfile.ZipExtFile name='vib20/vmkusb-nic-fling/VMW_bootbank_vmkusb-nic-fling_1.8-3vmw.703.0.15.51233328.vib' mode='r' c
ompress_type=deflate>", "Error opening file object for VIB 'VMW_bootbank_vmkusb-nic-fling_1.8-3vmw.703.0.15.51233328':
Expected value '[]' for attribute 'swplatforms', but found value '[<vmware.esximage.Vib.SoftwarePlatform object at 0x00
00018313AF2208>]'.").
発生場所 行:1 文字:1
+ Export-EsxImageProfile -ImageProfile $ip2 -FilePath .\MINISFORUM-HX90 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Export-EsxImageProfile], SoapException
    + FullyQualifiedErrorId : System.Web.Services.Protocols.SoapException,VMware.ImageBuilder.Commands.ExportProfile

一時頭を抱えたのだがメッセージを読んでみるとどうもUSB Network Native Driver for ESXでトラブルが出ていると思われたので登録を削除してみた

> Remove-EsxSoftwarePackage -ImageProfile $ip2 -SoftwarePackage vmkusb-nic-fling

そして再度ISOイメージを作成したところ成功

> Export-EsxImageProfile -ImageProfile $ip2 -FilePath .\MINISFORUM-HX90-7.0.u3c.iso -ExportToISO


インストールUSBメモリ作成

作成されたISOイメージをMacに持ってきてUSBメモリーにISOファイルの中身をコピーして前回と同じように

  1. コピーしたファイルの中からISOLINUX.CFGというファイルを探して名前をSYSLINUX.CFGという名前に変更

2.変更したSYSLINUX.CFGをエディタで開いて下記の部分を変更

APPEND -c boot.cfg
↓
APPEND -c boot.cfg -p 1

3.boot.cfgをエディタで開いて下記の内容を追加

kernelopt=runweasel cdromBoot systemMediaSize=min 

4.USBメモリをアンマウント

こうして作成したUSBメモリをMINISFORUMに取り付けて起動、今度はデバイスが見つからないという警告も表示されずに無事インストールが終了、ブラウザからMINISFORUMにブラウザで接続して管理画面も表示されることも確認して一通りの作業は終了した。

インストール後の確認 

一通りインストールが終わったのだが、ネットで情報を収集していた際にESXi7.0ではシステムストレージのレイアウトが変わった関係でシステムの入っているストレージに頻繁に書き込みが行われるようで、書き込み限界の少ないSSDの使用は推奨されないという情報があった。

これの対策としてはいくつか方法があるのだが、メインメモリ内にRAMディスクというストレージのように使用する領域を作成するというのが一番手間が掛からなそうだったため、SSHでMINISFORUMのESXiにログインし下記のコマンドで確認

 # esxcli system settings advanced list -o /UserVars/ToolsRamdisk
   Path: /UserVars/ToolsRamdisk
   Type: integer
   Int Value: 1
   Default Int Value: 1
   Min Value: 0
   Max Value: 1
   String Value: 
   Default String Value: 
   Valid Characters: 
   Description: Use VMware Tools repository from /tools ramdisk.

Int Valueが0の場合、1に設定し直して再起動する必要があったのだが1に設定されており、Default Int Valueも1となっていることからどうやらバージョンアップでここの部分は変更されたのではと思われる。

ということで、何とかESXiのインストールが終了し仮想化環境が使える状況となった。

色々やってみたいことはあるのだが、ひとまず前職でやっていたことのおさらいと、色々と試したい検証等もあるのでそれをやっていく予定である。

MacBook Proとの使い分けについてはMacBook Proでは一時的な検証環境、MINISFORUMで中期~本番環境に近い形の検証に使っていこうかと考えている。

色々あって時間が確保できるかが気になるのだが、何とか活用していこうと思う。

MINISFORUM EliteMini HX90に仮想化環境を構築する(失敗編)

内容

情報収集 

ハードの設定はこちら

kenkino.hatenablog.jp

一通りハードの設定が終わったので、今度は仮想化周りの設定を行うために情報を集めることにした。

今回インストールを考えていたのはVMwareのハイパーバイザーで単体での使用なら無償で使用可能なESXiで、考えていたのは

  • インストールCD用のISOファイルからUSBメモリでインストール可能なインストーラーを作成
  • インストール先はインストーラーとして使用したUSBメモリにインストール(これだとインストール途中で止まるのではと思う方もいるかもしれないが、インストールに必要なファイル一式は全てMinisforumに搭載したメモリに展開されるので問題はない)

こうすればMinisforum本体に搭載したNVMeの容量をシステムで使うことなく使用できるのでオススメのインストール方法である。 とりあえずMinisforumでESXiをインストールした事例をネットで検索すると、どうもNVMeとネットワークカードの認識に問題があるらしくインストールにはカスタムしたインストーラーが必要との情報があった。 しかし今回購入した機種とは違う機種でESXiのバージョンが少し古いモノだったため「まずは最新バージョンを試してみて、だめだったらカスタムインストーラーを作ろう」ということで最新版のESXiのインストールISOファイルをVMwareのサイトからダウンロードしてUSBメモリインストーラーを作成することにした。

インストーラーの作成 

USBメモリインストーラーの作成は、Windowsだと作成ツールが出回っているが自分がメインで使っているMacでも作成手順が公開されているのでその手順に少し手を加えて作成した。

1.USBメモリMacにつないで認識させる

2.Macでターミナルを起動する

3.ターミナルで下記のコマンドを実行してUSBメモリのデータ領域を一旦消去し起動用の領域に設定し直す

% diskutil eraseDisk MS-DOS "ESXI" MBR USBメモリのデバイス名

4.下記コマンドでUSBメモリをアンマウントする

% diskutil unmountDisk USBメモリのデバイス名

5.下記コマンドでUSBメモリに接続する

% fdisk  sudo fdisk -e USBメモリのデバイス名

6.接続したUSBに下記操作を行って起動用の領域をUSBメモリに設定して書き込む

> f 1
> write
> quit

7.下記コマンドでUSBメモリをマウントする

% diskutil mountDisk USBメモリのデバイス名

8.インストールISOイメージファイルをダブルクリックして開く 9.開いたISO中のファイルを全てUSBメモリへコピーする 10.コピーしたファイルの中からISOLINUX.CFGというファイルを探して名前をSYSLINUX.CFGという名前に変更 11.名前を変更したSYSLINUX.CFGをエディタで開いて下記の部分を変更

APPEND -c boot.cfg
↓
APPEND -c boot.cfg -p 1

12.boot.cfgをエディタで開いて下記の内容を追加

kernelopt=runweasel cdromBoot systemMediaSize=min 

12.USBメモリをアンマウント

インストーラー起動・・・しかし

作成したUSBメモリをMinisforumに接続して起動したところ確かにインストーラーは起動

しかしネットワークカードが認識できずにインストーラーが停止したorz

購入した機種のネットワークカードを確認し情報を探してみると、どうもドライバがコミュニティベースのモノしかなく、それを使うためには結局カスタムインストーラーをつくるしかないということになりカスタムインストーラを作ることにした。

MINISFORUM EliteMini HX90を購入

内容

手元に手頃な仮想環境が欲しくなった

前職を辞めてしばらくは、自宅の環境の整備等で忙しかったがそれが大体収まってきた頃、前職でやっていたことを再開するために手元で使える環境が欲しくなっていた。

環境としては複数コアを搭載したCPUで数台の仮想マシンを動作できるといったものだったがどういうものがいいのか考えあぐねていた。

そんなときPC系の情報サイトを見ていて、これを見かけた。

見たところCPUコア数はスレッドを含めれば複数仮想マシンを動かすには充分でGPUは内蔵のAMDのモノでNVIDIAではないがAMDGPUで試したいこともあったのでいいなぁと思っていたのだがお値段がお値段ということで購入するのをためらっていたのだが、Black Fridayのセールで公式のネットショップでいい感じのお値段になったのを見かけて即購入した。

一緒に購入したモノ

購入したのは、何も付けていないベアボーンモデルだったのでメモリとストレージも別途購入、ストレージは1TBのNVMe を購入

メモリは当初64GBにしようかとも思ったのだが、想定していた予算より高かったのでひとまず32GBとして追々必要そうなら64GBを購入することに。

そして12月の半ば頃にモノが到着

本体は自分が思っていたより小さく「これはいいな」と思ったのだが

付属のACアダプタの大きさにズッコケそうになる

本体上のビニールで梱包されているのがACアダプタ

「確かにこのCPUだとこれくらいのACアダプタは必要になるか」と妙に納得しながら次の週にメモリとストレージが到着したのでひとまず取り付け。

ベアボーンなので取り付けに一苦労するかなと思ったがあっさりと取り付けは終了、ここら辺は最近のPCといったところだと感じた。

開いた直後

メモリ、ストレージ取り付け後

ハードウェアの設定

メモリとストレージを付けて起動したところハードウェアの設定画面が表示

あまり見ない設定画面で詳細設定に切り替えるのにはどうすればいいか戸惑ったが、カーソルキーの左右キーで切り替えることに気づいて詳細設定に切り替えて仮想環境用としての使用なのでまずはCPUの仮想化支援機能を有効にするため初期設定で項目を探す。

探してみたところ CPU Configuration という項目があり

入ってみたところ SVN Mode という項目を確認

設定は Enable ということで有効になっていた。

次にIOMMUという項目を探してみたところ AMD CBS→ NBIO Common Optionsというところに項目があった。

該当の項目はAutoになっていたが、確実に適用させるためにEnableに変更

その他に必要そうな項目はなかったのでハードの設定はここまでとして、次は仮想環境のインストールに進むことにした。(仮想化設定編に続く)