Qnapのファームウェアアップデートをコマンドラインで行う

投稿者: | 4月 23, 2020

なんか知らないけどQnapのファームウェアアップデートをGUIでやると失敗することが多い。失敗するとその後失敗が続く。
うまくできても、メモリとHDDの領域でバージョンが異なるとか言われる。
調べてみた。以下の情報が役に立った。
https://yukun.info/qnap-firmware-upgrade-manually/
https://wiki.qnap.com/wiki/Manually_Updating_Firmware

検証環境というか自分の環境
TS-253 Pro (4TBHDD x2)

ちなみにTS-253 Proはもうセキュリティアップデートしか提供していない。。。

https://www.qnap.com/en/product/eol.php

以下から、ファームウェアのファイルを落とす。
QNAP Systems, Inc. – Network Attached Storage (NAS)
http://www.qnap.com/i/en/product_x_down/
落としたファームウェアのzipを解凍して、imgファイルを共有のPublicにコピーをしておく。

[注意] 
1. 必ずファイルシステムがクリーンな状態で行うこと!!!
2. Virtualization StationやContainer Stationの仮想マシンやコンテナを落としておくこと!!!

これ以降の手順はダウンロードしたimgファイル(zipファイルを解凍後)をPublicフォルダ直下に保管した状態で進める。(e.g. /share/Public/TS-X53_20200214-4.4.1.1216.imgがサーバーに存在している)
もしそこに置けなかった場合は、sshで移動させるか、パスを変更して実行(やったことないけど)。

[~] # rm -rf /mnt/update
[~] # cp /share/Public/TS-X53_20200214-4.4.1.1216.img /share/Public/TS-X53_20200214-4.4.1.1216-work.img
[~] # # ls /share/Public/ | grep TS-X53
TS-X53_20200214-4.4.1.1216.img
TS-X53_20200214-4.4.1.1216-work.img
[~] # ln -sf /mnt/HDA_ROOT/update /mnt/update

以下のコマンドでファームウェアアップデートが始まる。
不安になるかもしれないので、先に状況を書いておくと途中HDDのパーティション2つをmke2fsでフォーマットをするが、容量の割に結構時間がかかる。ハードディスク分フォーマットをして、それぞれ3分以上かかる。一瞬何かおきたかなと思うくらい。

[~] # /etc/init.d/update.sh /share/Public/TS-X53_20200214-4.4.1.1216.img
cksum=3949252439
Check RAM space available for FW update: OK.
Using 120-bit encryption – (QNAPNASVERSION4)
len=1048576
model name = TS-X53
version = 4.4.1
106flash
IS_64BITS
IS_STORAGE_V2
asm1061.ROM
asm1061_ver
boot/
bzImage
bzImage.cksum
config/
fw_info
fw_info.conf
gl352x_fw.bin
gl352x_fw.eep
gl352x_update.sh
gl352x_util
initrd.boot
initrd.boot.cksum
libcrypto.so.1.0.0
libssl.so.1.0.0
qpkg.tar
qpkg.tar.cksum
rootfs2.bz
rootfs2.bz.cksum
rootfs_ext.tgz
rootfs_ext.tgz.cksum
update/
update_asm1061.conf
update_asm1061.sh
update_img.sh
4.4.1 20200214
MODEL NAME = TS-X53,new version = 4.4.1
limit version = 3.7.2
Allow upgrade
Allow upgrade
Check HDA_ROOT free size for save qpkg.tar: OK.
/mnt/HDA_ROOT/update
1+0 records in
1+0 records out
512 bytes (512B) copied, 0.001622 seconds, 308.3KB/s
tune2fs 1.43.9 (8-Feb-2018)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
370Update image using HDD …
bzImage cksum … Pass
initrd.boot cksum … Pass
rootfs2.bz cksum … Pass
rootfs_ext.tgz cksum … Pass
rootfs_ext.tgz cksum … Pass
qpkg.tar cksum … Pass
Update RFS1…
mke2fs 1.43.9 (8-Feb-2018)
/dev/sdc2 contains a ext2 file system labelled ‘QTS_BOOT_PART2’
    created on Tue Dec 10 17:57:40 2019
Creating filesystem with 240768 1k blocks and 60240 inodes
Filesystem UUID: fb1fdc55-8b31-4471-a7b3-b571b090f1f9
Superblock backups stored on blocks:
    8193, 24577, 40961, 57345, 73729, 204801, 221185

Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done

Checking bzImage … ok
Checking initrd.boot … ok
Checking rootfs2.bz … ok
Checking rootfs_ext.tgz … ok
Update RFS2…
mke2fs 1.43.9 (8-Feb-2018)
/dev/sdc3 contains a ext2 file system labelled ‘QTS_BOOT_PART3’
    created on Tue Dec 10 17:58:45 2019
Creating filesystem with 240768 1k blocks and 60240 inodes
Filesystem UUID: 3460cb87-205d-4133-848a-d7c039761038
Superblock backups stored on blocks:
    8193, 24577, 40961, 57345, 73729, 204801, 221185

Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done

1+0 records in
1+0 records out
1 bytes (1B) copied, 0.026198 seconds, 38B/s
Update Finished.
Make a Backup
/share/CACHEDEV1_DATA
set cksum [3949252439]

以下でリブートを実行
[~] # reboot

パソコンと違うので、リブートにも時間が結構かかる。まして、pingやssh応答もなかなかこない。
5分から10分待つ気持ちで。何度かビープ音が鳴る。

ブラウザからアクセスができることを確認する。

成功したら。。。
コピーしたimgファイルを削除しておく。

失敗したら。。。
電プチしかない。古いファームウェアで上がってきたらもうけもん。もし、失敗して、電プチして、起動に成功したら必ずファイルシステムチェックを行うこと。

コメントを残す