update froze at 9% and now my NAS542 is beeping. -> How to move NAS "system" to another disk?
deemon
Posts: 9 Freshman Member
1. read the article at https://www.bleepingcomputer.com/news/security/zyxel-releases-new-nas-firmware-to-fix-critical-rce-vulnerability/
2. logged into my NAS542 webUI.
3. went into ControlPanel -> FW Upgrade -> Check Upgrade (last check 2019) -> it found something
4. Upgrade now -> it started -> froze at 9% for like several minutes and then gave me error, that "server connection unexpectedly hung" or something and threw me back to the Control panel.
now situation is this:
0. the physical NAS542 itself is beeping now.
1. when I click on "Check now" it gives me eternal wheel thing. and never goes anywhere.
2. when I click on "Upgrade now" it does ask confirmation () when I click "Yes", I get the wheel thing for a second and see 0% and then it closes the upgrader thing and now I see this:
Please
note the device must not be disconnected while the upgrading is
running. The Upgrade may take a few minutes. Are you sure you want to
upgrade firmware?
clicking on "Upgrade now" now second/third/fifth time does the same thing quick wheel and back to this image.
How can I kill and reset the failed/hung upgrade process ? failed download? it thinks it got upgrade but only downloaded partial file? Where can I delete this failed download? and/or where could I download the upgrade file for manual upgrade?
0
Best Answers
-
The system disk is determined by a symlink on a flash partition. The symlink /i-data/sysvol points to that symlink (/etc/zyxel/sysvol, or something like that. The flash partition is mounted on /etc/zyxel), and that symlink points to /i-data/<some-truncated-volume-UUID>/.When the system disk is not found on boot, the symlink in flash is changed to point to another volume, if available. So if you don't have anything special on the system disk, you don't need to do anything.AFAIK on the system disk the admin share is located, the package system, and some databases (Twonky, ...)0
-
Fixed!@Mijzelf Thank you for informationSo system relocate details and commands in order were:1. ssh into NAS :ssh admin@nas542.local2. go into superuser :su3. go into current sysvol/.system folder :cd /etc/zyxel/storage/sysvol/.system//i-data/d2eb3296/.system #4. choose the "disk" (8 0-f symbols string) you want to use as new location :ls -lah /i-data/on my case as example:# ls -lah /i-data/
drwxr-xr-x 5 root root 0 Sep 8 23:21 .
drwxr-xr-x 19 root root 0 Sep 8 23:22 ..
lrwxrwxrwx 1 root root 23 Sep 8 23:21 .media -> /i-data/d2eb3296/.media
lrwxrwxrwx 1 root root 24 Sep 8 23:21 .system -> /i-data/d2eb3296/.system
drwxrwxrwx 8 root root 4.0K Sep 8 23:08 c65dd9d1 <= possible candidate #1
drwxrwxrwx 12 root root 4.0K Jun 22 2019 d2eb3296 <= current sysvol (as above links .media and .system point there)
drwxrwxrwx 7 root root 4.0K Jun 22 2019 f9b5c33b <= possible candidate #2
lrwxrwxrwx 1 root root 25 Sep 8 23:21 sysvol -> /etc/zyxel/storage/sysvol5. copy everything (except name_label file) to the chosen disk .system folder (the folder should already exist). Also the files and folders listed here is what I had. Your system may have somewhat different files there. Anyway my example what I did:/i-data/d2eb3296/.system # cp -r zoneinfo /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r sysvol_5CF4AB67B6FC /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r songs3.db /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r fileye-queue /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r appletQueue /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r BackupPlanner.log /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r guicfg /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r dservice.db /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r sch_debug.log* /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r zy-pkgs /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r rsyncd.secrets /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r zysyncd.log /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r stunneld.log /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r storage.txt /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r zyfw /i-data/c65dd9d1/.system/6. change the link "sysvol" in /etc/zyxel/storage to your chosen new disk location (8 symbol hash you chose in step 4.):cd /etc/zyxel/storage/ln -s -n -f /i-data/<your_8_symbols> sysvol( my example: ln -s -n -f /i-data/c65dd9d1 sysvol )7. reboot NAS:reboot now(8. possibly you should/could copy or even move also some other more special stuff from old disk to new (.media, photo, music, video, admin, .PKG folders in old disk root), but I don't know details, as I don't use any (because if I turn any of them on, the file transfer speed plummets to hell, so I chose to not use any plugins or packages or special folders).9. Also cleaning up old sysvol disk .system folder, by deleting everything in there except name_label file (but I chose not to as just in case backup).)##################################################as for fixing the failed/hung/broken FW download action, you need to delete the .tmp file.# rm /etc/zyxel/storage/sysvol/.system/zyfw/tmp/*.tmpAfter that I was able to start the upgrade process again correctly.0
All Replies
-
Status update. Apparently my system volume (the disk where the system files are currently stored) is failing... :-( and the disk kind of went offline, thus the failed update and beeping maybe? After shutting NAS down and restarting it made the disk come back online, but there are serious problems in SMART:ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 12
5 Reallocated_Sector_Ct 0x0033 195 195 140 Pre-fail Always - 169
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 053 052 000 Old_age Always - 34621
10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 41
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 24
193 Load_Cycle_Count 0x0032 175 175 000 Old_age Always - 76055
194 Temperature_Celsius 0x0022 119 093 000 Old_age Always - 33
196 Reallocated_Event_Count 0x0032 031 031 000 Old_age Always - 169
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 1
198 Offline_Uncorrectable 0x0030 100 253 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 100 253 000 Old_age Offline - 0how can I migrate the system to another disk?(not going to try upgrade before I have migrated the system to another disk).System is rather simple. I have 3 separate disks and 3 separate volumes, one per disk. No raids and anything else that may complicate things.
0 -
If your disk are all using Jbod.
You can backup your data directly and then download the firmware here
https://www.zyxel.com/support/Zyxel-security-advisory-for-format-string-vulnerability-in-NAS.shtml
0 -
ikubuf said:If your disk are all using Jbod.Not using "jbod", but all my disks are separate entities.Thank you for firmware direct download links! :-)But the question remains, how can I tell NAS542 to move "system" role from disk4(/dev/sdc) (failing) to disk2 or disk3? or from /dev/sdc to /dev/sda./etc/zyxel/storage # llrwxrwxrwx 1 root root 16 Jan 1 2017 sysvol -> /i-data/d2eb3296
-rw-r--r-- 1 root root 6 Jun 16 2017 pwron.int
-rw-rw-rw- 1 root root 0 Jun 22 2019 enable_nfs.flag
drwxr-xr-x 2 root root 368 Jun 22 2019 .
drwxrwxrwx 13 root root 3.2K Sep 7 21:07 ../i-data # ls
drwxr-xr-x 19 root root 0 Jan 1 1970 ..
drwxrwxrwx 8 root root 4.0K Jun 22 2019 c65dd9d1
drwxrwxrwx 12 root root 4.0K Jun 22 2019 d2eb3296
drwxrwxrwx 7 root root 4.0K Jun 22 2019 f9b5c33b
lrwxrwxrwx 1 root root 25 Sep 7 21:06 sysvol -> /etc/zyxel/storage/sysvol
lrwxrwxrwx 1 root root 24 Sep 7 21:06 .system -> /i-data/d2eb3296/.system
lrwxrwxrwx 1 root root 23 Sep 7 21:06 .media -> /i-data/d2eb3296/.media
drwxr-xr-x 5 root root 0 Sep 7 21:06 .
Theoretically I think it could be done via:
1. copy all the "system files" (entire ".system" folder on sysvol root, except maybe the name_label file there) to another/new disk same place.
2. link the sysvol symbolic links in different places (/i-data/.system; /etc/zyxel/storage/sysvol; maybe other places more?) and maybe other links to the new disk.
3. alter some more variables somewhere?
4. reboot?
BUT I don't want to play around with it without knowing first every step I must make. Because when I browse around in the box in ssh, I see a lot of links all over the place. Not quite comfortable changing all the links manually to another disk and expect everything to "just work"... especially if maybe there is a better (command? some config variable somewhere?) way to tell NAS that now use different disk as "sysvol" and it does all the linking itself automatically to the new disk? Maybe even move the system files necessary by itself to another disk?
0 -
The system disk is determined by a symlink on a flash partition. The symlink /i-data/sysvol points to that symlink (/etc/zyxel/sysvol, or something like that. The flash partition is mounted on /etc/zyxel), and that symlink points to /i-data/<some-truncated-volume-UUID>/.When the system disk is not found on boot, the symlink in flash is changed to point to another volume, if available. So if you don't have anything special on the system disk, you don't need to do anything.AFAIK on the system disk the admin share is located, the package system, and some databases (Twonky, ...)0
-
Mijzelf said:The system disk is determined by a symlink on a flash partition. The symlink /i-data/sysvol points to that symlink (/etc/zyxel/sysvol, or something like that. The flash partition is mounted on /etc/zyxel), and that symlink points to /i-data/<some-truncated-volume-UUID>/./etc/zyxel/storage # ls -lah
lrwxrwxrwx 1 root root 16 Jan 1 2017 sysvol -> /i-data/d2eb3296
-rw-r--r-- 1 root root 6 Jun 16 2017 pwron.int
-rw-rw-rw- 1 root root 0 Jun 22 2019 enable_nfs.flag
drwxr-xr-x 2 root root 368 Jun 22 2019 .
drwxrwxrwx 13 root root 3.2K Sep 7 21:07 ..So, are you saying that after copying all the files from "sysvol/.system" to "<another disk>/.system" and just changing the 1 link at /etc/zyxel/storage/sysvol to another location ... it should be swapped to another disk? Should be rather easy...Mijzelf said:When the system disk is not found on boot, the symlink in flash is changed to point to another volume, if available. So if you don't have anything special on the system disk, you don't need to do anything.What do you mean? Like if I remove the previous disk with sysvol entirely from NAS (and or it critically fails, thus becomes unreadable / disappears), it will be OK? How so? On the sysvol there is this actual firmware that is used on boot or not (ras.bin)? Or have I misunderstood this?/i-data/d2eb3296/.system # ls -lah
-rw-r--r-- 1 root nobody 8 Aug 5 2016 name_label <== here is volume name eg. 'Volume2'
drwxr-xr-x 18 root root 4.0K Oct 26 2016 zoneinfo
-rw-rw-rw- 1 root root 0 Jan 1 2017 sysvol_5CF4AB67B6FC <== what is this file?
-rw-r--r-- 1 nobody nobody 11.0K Jan 1 2017 songs3.db
drwxrwxrwx 2 root root 4.0K Jan 1 2017 fileye-queue
drwxrwxrwx 7 root root 4.0K Jan 1 2017 appletQueue
-rw-r--r-- 1 root root 254 Jan 1 2017 BackupPlanner.log
drwxrwxrwx 4 root root 4.0K Jan 2 2017 guicfg
-rw-r--r-- 1 root root 3.0K Jan 2 2017 dservice.db
-rw-r--r-- 1 root root 5.0M May 30 2017 sch_debug.log.bak
drwxrwxrwx 12 root root 4.0K Jun 22 2019 ..
drwxrwxrwx 6 1013 1000 4.0K Aug 16 07:28 zy-pkgs
drwxrwxrwx 3 root root 4.0K Sep 7 15:05 zyfw <== here is ras.bin
-rw-r--r-- 1 root root 5.3K Sep 7 21:07 zysyncd.log
-rw-r----- 1 root root 39.2K Sep 7 21:07 stunneld.log
-rw-rw-rw- 1 root root 4.1M Sep 8 09:09 storage.txt
drwxrwxrwx 8 1013 1000 4.0K Sep 8 09:09 .
-rw-r--r-- 1 root root 4.6M Sep 8 09:09 sch_debug.log
-rw------- 1 root root 23 Sep 8 12:38 rsyncd.secrets/i-data/d2eb3296/.system # ls -lah zyfw/
-rwxrwxrwx 1 root root 57.2M Jun 22 2019 ras.bin <== isn't this file necessary for boot?
-rw-r--r-- 1 root root 192 Aug 15 09:26 zyfw_info
-rw-rw-rw- 1 root root 0 Sep 7 15:05 zyfw_last_update
drwxrwxrwx 3 root root 4.0K Sep 7 15:05 .
drwxrwxrwx 2 root root 4.0K Sep 7 15:05 tmp
drwxrwxrwx 8 1013 1000 4.0K Sep 8 09:09 ..
-rw-rw-rw- 1 root root 211.8K Sep 8 12:39 zyfw_debug.logMijzelf said:AFAIK on the system disk the admin share is located, the package system, and some databases (Twonky, ...)
And the actual FW? Os is this ras.bin not used on boot? What happens when it doesn't find it?MEANWHILE I think I actually found also the first post failed download file that causes confusion and doesn't let me try to redownload the update from webUI:/i-data/d2eb3296/.system/zyfw/tmp # l
drwxrwxrwx 3 root root 4.0K Sep 7 15:05 ..
drwxrwxrwx 2 root root 4.0K Sep 7 15:05 .
-rw-rw-rw- 1 root root 25.9M Sep 7 15:06 521ABAG9C0.bin.tmpso probably just deleting it would fix this update failing problem also... and while doing exactly that the command ran like 2 minutes to delete 1 file. It feels it landed exactly on the bad-sector on the disk, as after deleting the file in smart some numbers went instantly up from previous.BEFORE rm 521ABAG9C0.bin.tmpVendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 12
3 Spin_Up_Time 0x0027 222 186 021 Pre-fail Always - 7883
4 Start_Stop_Count 0x0032 094 094 000 Old_age Always - 6629
5 Reallocated_Sector_Ct 0x0033 195 195 140 Pre-fail Always - 169
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 053 052 000 Old_age Always - 34637
10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 41
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 24
193 Load_Cycle_Count 0x0032 175 175 000 Old_age Always - 76059
194 Temperature_Celsius 0x0022 109 093 000 Old_age Always - 43
196 Reallocated_Event_Count 0x0032 031 031 000 Old_age Always - 169
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 1
198 Offline_Uncorrectable 0x0030 100 253 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 100 253 000 Old_age Offline - 0and after:1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 24
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 3
0 -
Fixed!@Mijzelf Thank you for informationSo system relocate details and commands in order were:1. ssh into NAS :ssh admin@nas542.local2. go into superuser :su3. go into current sysvol/.system folder :cd /etc/zyxel/storage/sysvol/.system//i-data/d2eb3296/.system #4. choose the "disk" (8 0-f symbols string) you want to use as new location :ls -lah /i-data/on my case as example:# ls -lah /i-data/
drwxr-xr-x 5 root root 0 Sep 8 23:21 .
drwxr-xr-x 19 root root 0 Sep 8 23:22 ..
lrwxrwxrwx 1 root root 23 Sep 8 23:21 .media -> /i-data/d2eb3296/.media
lrwxrwxrwx 1 root root 24 Sep 8 23:21 .system -> /i-data/d2eb3296/.system
drwxrwxrwx 8 root root 4.0K Sep 8 23:08 c65dd9d1 <= possible candidate #1
drwxrwxrwx 12 root root 4.0K Jun 22 2019 d2eb3296 <= current sysvol (as above links .media and .system point there)
drwxrwxrwx 7 root root 4.0K Jun 22 2019 f9b5c33b <= possible candidate #2
lrwxrwxrwx 1 root root 25 Sep 8 23:21 sysvol -> /etc/zyxel/storage/sysvol5. copy everything (except name_label file) to the chosen disk .system folder (the folder should already exist). Also the files and folders listed here is what I had. Your system may have somewhat different files there. Anyway my example what I did:/i-data/d2eb3296/.system # cp -r zoneinfo /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r sysvol_5CF4AB67B6FC /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r songs3.db /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r fileye-queue /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r appletQueue /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r BackupPlanner.log /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r guicfg /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r dservice.db /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r sch_debug.log* /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r zy-pkgs /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r rsyncd.secrets /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r zysyncd.log /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r stunneld.log /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r storage.txt /i-data/c65dd9d1/.system/
/i-data/d2eb3296/.system # cp -r zyfw /i-data/c65dd9d1/.system/6. change the link "sysvol" in /etc/zyxel/storage to your chosen new disk location (8 symbol hash you chose in step 4.):cd /etc/zyxel/storage/ln -s -n -f /i-data/<your_8_symbols> sysvol( my example: ln -s -n -f /i-data/c65dd9d1 sysvol )7. reboot NAS:reboot now(8. possibly you should/could copy or even move also some other more special stuff from old disk to new (.media, photo, music, video, admin, .PKG folders in old disk root), but I don't know details, as I don't use any (because if I turn any of them on, the file transfer speed plummets to hell, so I chose to not use any plugins or packages or special folders).9. Also cleaning up old sysvol disk .system folder, by deleting everything in there except name_label file (but I chose not to as just in case backup).)##################################################as for fixing the failed/hung/broken FW download action, you need to delete the .tmp file.# rm /etc/zyxel/storage/sysvol/.system/zyfw/tmp/*.tmpAfter that I was able to start the upgrade process again correctly.0 -
What do you mean? Like if I remove the previous disk with sysvol entirely from NAS (and or it critically fails, thus becomes unreadable / disappears), it will be OK? How so? On the sysvol there is this actual firmware that is used on boot or not (ras.bin)? Or have I misunderstood this?
The name sysvol is a bit misleading here. (And it was never meant to be read by customers, I think).
The disks are partitioned in 3 partitions. The 3th is user data, the 1st and 2nd are two raid1 arrays spanning over all disks. The first one contains the firmware, the second swap (or maybe the other way around, can say without looking). So when one disk fails, nothing happens to the firmware/swap.
If all disks fail, there is a compressed version of the firmware in flash, which is extracted to a ramdisk on boot. This way the box can run without disks.As said, sysvol only contains user stuff, which is handled by the system. That ras.bin file is a left-over of the last firmware upgrade. Don't know why it is not deleted after upgrading. Perhaps just laziness.0
Categories
- All Categories
- 415 Beta Program
- 2.4K Nebula
- 151 Nebula Ideas
- 98 Nebula Status and Incidents
- 5.7K Security
- 277 USG FLEX H Series
- 277 Security Ideas
- 1.4K Switch
- 74 Switch Ideas
- 1.1K Wireless
- 42 Wireless Ideas
- 6.4K Consumer Product
- 250 Service & License
- 395 News and Release
- 85 Security Advisories
- 29 Education Center
- 10 [Campaign] Zyxel Network Detective
- 3.6K FAQ
- 34 Documents
- 34 Nebula Monthly Express
- 85 About Community
- 75 Security Highlight