日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

黑群晖各种问题修正

發布時間:2023/12/9 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 黑群晖各种问题修正 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自https://blog.csdn.net/sachin_woo/article/details/100066529

洗白

首先應明白洗白是否必要,洗白有兩個作用,一是可以使用QuickConnect;二是可以使用Video Station解碼。洗白需要找到正確的MAC及S/N碼,至于其來源有各種途徑,一是有算號器;二是利用退換貨政策的漏洞。但是有風險,群暉如果發現同一個MAC/SN兩個同時在線,可能會封號。如果不使用上述兩個功能,可以不洗白。

要修改MAC/SN,需要修改啟動配置文件grub.cfg,有兩種方法:

  • 直接PE啟動,然后加載ssd第一個分區就能找到文件
  • SSH在線修改

個人覺得SSH在線修改更方便,具體操作如下:

1. 開放SSH端口

在控制面板里面–>終端機和SNMP下,啟動SSH功能.

2. SSH工具掛載synoboot1分區

用ssh工具如putty連接到群暉的ip地址,用創建群暉的管理用戶登陸.
例如,用戶名:admin 密碼 123456
輸入如下命令:

sudo -i //獲取root超級權限 mkdir -p /tmp/boot //在/tmp目錄下創建一個臨時目錄,名字隨意,如:boot cd /dev //切換到dev目錄 mount -t vfat synoboot1 /tmp/boot/ //將synoboot1 分區掛載到boot cd /tmp/boot/grub //切換到grub目錄 vim grub.cfg //修改grub.cfg文件


按鍵盤上的 i 鍵(小寫狀態),進入文檔編輯模式,此時就可以輸入新的SN,MAC1的新值,刪除舊值.

修改完成后.

按鍵盤上的Esc鍵,返回到命令模式,輸入:wq,然后回車保存并退出.如果修改亂了,想不保存并退出,則是輸入:q,然后回車.

此時可以再 vi grub.cfg 進去看看是否修改成功.

最后重啟主機即可:

reboot

硬盤顯示

針對問題2,硬盤盤符亂,這款B款蝸牛有兩個SATA控制器,有6個SATA接口(包含一個mSATA接口).處理器控制2個能引導的接口(內存旁邊的一個和mSATA),板載控制器控制4個硬盤架的接口但不能引導.

1. 硬盤位的順序

裝好DSM后硬盤順序應該是處理器控制的兩個接口在前(假設為1、2),控制硬盤架上的四個接口在后(假設為3、4、5、6).所以只要是放在硬盤架上的硬盤在DSM都會標識在3號到6號盤之間.

若需要將硬盤架上的順序改為1、2、3、4號標識,可以修改引導盤里的grub.conf配置文件來實現.
修改盤序號需要在extra_args_918變量里增加兩個值SataPortMap=24和DiskIdxMap=0400.

即:

# /grub/grub.conf # 從第31行開始 ...... set extra_args_918='SataPortMap=24 DiskIdxMap=0400' #將兩項加在這后面set common_args_918='syno_hdd_powerup_seq=0 HddHotplug=0 syno_hw_version=DS918+ vender_format_version=2 console=ttyS0,115200n8 withefi elevator=elevator quiet syno_port_thaw=1' # for testing on VM set sata_args='SataPortMap=1' ......

修改完成后保存重啟,我的硬盤是從左至右放在左邊兩個盤位中的所以是3號和4號位.
如果盤位順序還是有誤,需要把主板連接的SATA物理更換一下,交換位置就正常了.

簡單解釋下這兩個值:
具體的含義可以參考此處的第229行和249行:

SataPortMap=24

配置系統有兩個SATA控制器,第一個控制器有2個接口,第二個控制器有4個接口.

DiskIdxMap=0400

將第一個SATA控制器的接口序號設置為從5開始,第二個SATA控制器的接口號從1開始(04和00都為16進制).

2. 用SSD引導后隱藏啟動盤

直接把啟動鏡像寫入到mSATA盤里面,存儲空間管理員里面會有一個14G左右的盤始于未使用狀態,就是mSATA盤里除開啟動分區后的剩余空間,像下面一樣:

可以將其初始化并利用起來,但14G的空間利用起來也沒什么價值,且本來自帶的SSD就很弱,用來存資料也有一定崩盤的風險.為了防止看著礙眼,可以用上面的方法把這個盤隱藏掉.
還是需要通過修改引導盤里的grub.conf配置文件來實現.
需要在sata_args變量里增加DiskIdxMap=1000這個值,且在啟動時選擇第三項啟動項(VMware/ESXI)啟動.


即:

# /grub/grub.conf # 從第31行開始 ...... set extra_args_918=''set common_args_918='syno_hdd_powerup_seq=0 HddHotplug=0 syno_hw_version=DS918+ vender_format_version=2 console=ttyS0,115200n8 withefi elevator=elevator quiet syno_port_thaw=1' # for testing on VM set sata_args='SataPortMap=24 DiskIdxMap=1000'# 將兩項加在這后面(10,00都為16進制) ......

3. 信息中心顯示的處理器的型號

裝好DSM系統以后,信息中心顯示的是白群暉機器的處理器信息,比如DS3617系統就顯示的是Xeon D處理器的信息,很明顯是直接寫死的.

  • 下載ch_cpuinfo_en.tar在電腦上,[這里下載]
  • 通過FileStation將下載好的文件上傳到DSM上
  • 用Putty或者其他SSH工具連接上DSM
  • 在SSH工具中操作
# 切換到root賬戶; sudo -i# 打開ch_cpuinfo.tar文件所在目錄; cd /volume1/tmp# 解壓ch_cpuinfo.tar文件; tar xvf ch_cpuinfo.tar# 運行ch_cpuinfo文件; ./ch_cpuinfo# 運行后,按“1”選擇“First Run”,再按“y”鍵;# 關閉SSH工具,重新登陸后信息中心顯示J1900信息;

休眠

1. 打開休眠調試日志

這個選項藏得比較深,在左上角菜單→技術支持中心→左邊技術支持服務→啟動系統休眠調試模式

2. 等待觸發休眠問題

保持 NAS 空閑到設定的時間即可.記得把 NAS 的網頁和各種客戶端都關掉,不然接下來的日志可能會很長沒法分析.我自己是在睡覺之前打開日志,起來分析.睡覺的時候除了 NAS 和路由器就沒有其他設備開機了,日志很準確.

3. 分析日志

會產生兩份日志,分別是 /var/log/hibernation.log 和 /var/log/hibernationFull.log. 后者是原始數據,前者是去除了一些無價值“連鎖性”操作的精簡版,但它有的時候會精簡過頭,所以我這里以后者為例來分析.

首先,將臟塊寫入磁盤的日志手動排除掉.通常內核不會自發進行大量的磁盤操作,大多數 write block 是用戶態 dirty block 導致的結果,因此可以把包含 WRITE block 和 sync 的行刪除,節省大量的版面.

其次,將非硬盤的寫入排除掉.將包含 on tmpfs 或 on proc 的行刪除即可,剩下的非硬盤文件系統肉眼忽略.

剩下的條目可以進入分析了.比如我這里在午睡時每段記錄都差不多是這個樣子:

***********Clear********* [140146.388709] btsync(15253): dirtied inode 11404 (sync.log) on md2 [140146.388721] btsync(15253): dirtied inode 11404 (sync.log) on md2 [140146.388723] btsync(15253): dirtied inode 11404 (sync.log) on md2 [140151.820668] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [140151.820682] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [140151.820684] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [140152.332689] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [140152.332696] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [140152.332698] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [140153.783855] btsync(15253): dirtied inode 11404 (sync.log) on md2 [140153.783870] btsync(15253): dirtied inode 11404 (sync.log) on md2 [140153.783872] btsync(15253): dirtied inode 11404 (sync.log) on md2 [140170.602870] synologrotated(4963): dirtied inode 28083 (.SYNOSYSDB-wal) on md0 [140170.602888] synologrotated(4963): dirtied inode 29789 (.SYNOSYSDB-shm) on md0 [140170.603221] synologrotated(4963): dirtied inode 21538 (.SYNOCONNDB-wal) on md0 [140170.603235] synologrotated(4963): dirtied inode 22044 (.SYNOCONNDB-shm) on md0 [140173.443684] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [140173.443696] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [140173.443698] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [140173.955999] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [140173.956006] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [140173.956009] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [140272.465248] btsync(15253): dirtied inode 11404 (sync.log) on md2 [140272.465265] btsync(15253): dirtied inode 11404 (sync.log) on md2 [140272.465267] btsync(15253): dirtied inode 11404 (sync.log) on md2 [140278.386378] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [140278.386390] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [140278.386393] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [140278.898561] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [140278.898569] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [140278.898571] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [140631.564198] btsync(15253): dirtied inode 11404 (sync.log) on md2 [140631.564209] btsync(15253): dirtied inode 11404 (sync.log) on md2 [140631.564211] btsync(15253): dirtied inode 11404 (sync.log) on md2 [140637.298101] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [140637.298113] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [140637.298115] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [140637.811061] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [140637.811068] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [140637.811071] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [141346.340822] btsync(15253): dirtied inode 11404 (sync.log) on md2 [141346.340833] btsync(15253): dirtied inode 11404 (sync.log) on md2 [141346.340836] btsync(15253): dirtied inode 11404 (sync.log) on md2 [141351.508216] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [141351.508226] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [141351.508228] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [141352.021228] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [141352.021235] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [141352.021238] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [141352.494749] btsync(15253): dirtied inode 11404 (sync.log) on md2 [141352.494758] btsync(15253): dirtied inode 11404 (sync.log) on md2 [141352.494760] btsync(15253): dirtied inode 11404 (sync.log) on md2 [141371.039633] synologrotated(4963): dirtied inode 28083 (.SYNOSYSDB-wal) on md0 [141371.039654] synologrotated(4963): dirtied inode 29789 (.SYNOSYSDB-shm) on md0 [141371.039992] synologrotated(4963): dirtied inode 21538 (.SYNOCONNDB-wal) on md0 [141371.040007] synologrotated(4963): dirtied inode 22044 (.SYNOCONNDB-shm) on md0 [141377.244527] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [141377.244539] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [141377.244541] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [141377.757046] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [141377.757054] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [141377.757056] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [141535.911703] dhclient(16778): dirtied inode 19635 (sh) on md0 [141535.911717] dhclient(16778): dirtied inode 19626 (bash) on md0 [141535.911909] dhclient-script(16778): dirtied inode 14958 (libncursesw.so.5) on md0 [141535.911917] dhclient-script(16778): dirtied inode 13705 (libncursesw.so.5.9) on md0 [141535.914460] awk(16782): dirtied inode 13819 (libm.so.6) on md0 [141535.914470] awk(16782): dirtied inode 11177 (libm-2.20-2014.11.so) on md0 [141542.431766] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [141542.431778] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [141542.431781] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [141542.944314] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [141542.944322] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [141542.944324] syno_hibernatio(25655): dirtied inode 5348 (hibernation.log) on md0 [142073.169495] btsync(15253): dirtied inode 11404 (sync.log) on md2 [142073.169512] btsync(15253): dirtied inode 11404 (sync.log) on md2 [142073.169515] btsync(15253): dirtied inode 11404 (sync.log) on md2 [142078.947137] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [142078.947150] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 [142078.947152] syno_hibernatio(25655): dirtied inode 5885 (hibernationFull.log) on md0 uptime : [142078.753468] ======Idle 536 seconds====== Sat Oct 27 14:34:19 CST 2018

進程不多,逐個判斷:

btsync:BTSync 套件,sync.log 顧名思義好了.這樣看來,它頻繁寫日志是一個很明顯的阻礙休眠的原因.我反正只是裝著,沒配置它,可以把它刪掉.

syno_hibernatio:ps | grep 看一下發現全稱是 syno_hibernation_debug,加之操作的文件名,確定是記錄休眠日志的工具自身,以后關了就沒了

synologrotated:應該是記錄系統日志的工具,如果正經休眠了應該就不會有日志了,這也是個被動來源

dhclient 和 dhclient-script:DHCP 客戶端常規操作,阻擋不了

那么這一輪下來只能得出需要停止 BTSync 的結論.先這么做了再說.休眠日志可以不急著關掉.
再放一天試試.查看系統日志:

從日志來看,上面的操作是有效的,硬盤終于能進入休眠了,出現了很多“Internal disks woke up from hibernation”.但是這每半小時一條,相當于休眠沒幾秒又被喚醒了.

于是繼續分析休眠日志:

***********Clear********* [236666.547745] syslog-ng(4331): dirtied inode 18 (scemd.log) on md0 [236687.650564] syslog-ng(13085): dirtied inode 18 (scemd.log) on md0 [236687.650585] syslog-ng(13085): dirtied inode 18 (scemd.log) on md0 [236687.650592] syslog-ng(13085): dirtied inode 18 (scemd.log) on md0 [236687.658884] syslog-ng(5016): dirtied inode 28581 (.SYNOSYSDB-shm) on md0 [236687.658893] syslog-ng(5016): dirtied inode 28581 (.SYNOSYSDB-shm) on md0 [236687.658946] syslog-ng(5016): dirtied inode 24584 (.SYNOSYSDB-wal) on md0 [236687.658952] syslog-ng(5016): dirtied inode 24584 (.SYNOSYSDB-wal) on md0 [236687.658954] syslog-ng(5016): dirtied inode 24584 (.SYNOSYSDB-wal) on md0 [236687.664164] logrotate(13090): dirtied inode 41594 (synolog) on md0 [236687.666146] logrotate(13090): dirtied inode 6900 (logrotate.status) on md0 [236687.671082] logrotate(13090): dirtied inode 7905 (logrotate.status.tmp) on md0 [236689.662143] synologaccd(4840): dirtied inode 22952 (.SYNOACCOUNTDB) on md0 [236689.662355] synologaccd(4840): dirtied inode 6900 (.SYNOACCOUNTDB-wal) on md0 [236689.662383] synologaccd(4840): dirtied inode 21526 (.SYNOACCOUNTDB-shm) on md0 [236689.763593] synologaccd(4840): dirtied inode 22952 (.SYNOACCOUNTDB) on md0 [236689.763629] synologaccd(4840): dirtied inode 22952 (.SYNOACCOUNTDB) on md0 [236691.547334] synologrotated(5000): dirtied inode 28581 (.SYNOSYSDB-shm) on md0 [236691.547681] synologrotated(5000): dirtied inode 23485 (.SYNOCONNDB-wal) on md0 [236691.547695] synologrotated(5000): dirtied inode 24677 (.SYNOCONNDB-shm) on md0 [238511.431135] syslog-ng(4331): dirtied inode 18 (scemd.log) on md0 uptime : [238516.475108] ======Idle 1807 seconds====== Wed Oct 24 03:52:06 CST 2018 ##################################################### Only idle 44 seconds, pass Wed Oct 24 03:52:51 CST 2018 ##################################################### ***********Clear********* [238522.209123] synologrotated(5000): dirtied inode 24584 (.SYNOSYSDB-wal) on md0 [238522.209173] synologrotated(5000): dirtied inode 28581 (.SYNOSYSDB-shm) on md0 [238522.210082] synologrotated(5000): dirtied inode 23485 (.SYNOCONNDB-wal) on md0 [238522.210122] synologrotated(5000): dirtied inode 24677 (.SYNOCONNDB-shm) on md0 [238522.224252] logrotate(19321): dirtied inode 41594 (synolog) on md0 [238522.229880] logrotate(19321): dirtied inode 7905 (logrotate.status) on md0 [238522.244528] logrotate(19321): dirtied inode 6900 (logrotate.status.tmp) on md0 [238531.967854] syslog-ng(19324): dirtied inode 18 (scemd.log) on md0 [238531.967874] syslog-ng(19324): dirtied inode 18 (scemd.log) on md0 [238531.967882] syslog-ng(19324): dirtied inode 18 (scemd.log) on md0 [238531.990488] logrotate(19329): dirtied inode 6900 (logrotate.status.tmp) on md0 [238533.979174] synologaccd(4840): dirtied inode 22952 (.SYNOACCOUNTDB) on md0 [238533.979348] synologaccd(4840): dirtied inode 7905 (.SYNOACCOUNTDB-wal) on md0 [238533.979378] synologaccd(4840): dirtied inode 21526 (.SYNOACCOUNTDB-shm) on md0 [238534.076345] synologaccd(4840): dirtied inode 22952 (.SYNOACCOUNTDB) on md0 [238534.076385] synologaccd(4840): dirtied inode 22952 (.SYNOACCOUNTDB) on md0 [240368.320927] syslog-ng(4331): dirtied inode 18 (scemd.log) on md0 uptime : [240374.147000] ======Idle 1811 seconds====== Wed Oct 24 04:23:02 CST 2018

synocrond:聽起來像是任務計劃程序,里面有個 DSM 自動更新檢查,觸發頻率不高,應該不太影響

builtin-synodat:不知道是什么

logrotate:大概也是個日志程序

synologaccd:繼續是日志程序

syslog-ng:我也不知道為什么群暉有那么多日志管理程序

單次日志看不出來什么,但是連著好幾塊都符合剛一休眠就被喚醒(空閑時間是設定的 30 分鐘加十幾秒),且最后一條都是對 (/var/log/)scemd.log 的寫入。這就有點意思了,打開看看里面是什么:

2018-10-24T07:00:13+08:00 Hamster-DS scemd: led/led_brightness.c:244 Fail to read /usr/sbin/i2cget 2018-10-24T07:00:13+08:00 Hamster-DS scemd: led.c:35 SYNOGetLedBrightness fail() 2018-10-24T07:00:34+08:00 Hamster-DS scemd: event_disk_hibernation_handler.c:42 The internal disks wake up, hibernate from [Oct 24 07:00:11] 2018-10-24T07:31:09+08:00 Hamster-DS scemd: led/led_brightness.c:244 Fail to read /usr/sbin/i2cget 2018-10-24T07:31:09+08:00 Hamster-DS scemd: led.c:35 SYNOGetLedBrightness fail() 2018-10-24T07:31:30+08:00 Hamster-DS scemd: event_disk_hibernation_handler.c:42 The internal disks wake up, hibernate from [Oct 24 07:31:07] 2018-10-24T08:01:53+08:00 Hamster-DS scemd: led/led_brightness.c:244 Fail to read /usr/sbin/i2cget 2018-10-24T08:01:53+08:00 Hamster-DS scemd: led.c:35 SYNOGetLedBrightness fail() 2018-10-24T08:02:14+08:00 Hamster-DS scemd: event_disk_hibernation_handler.c:42 The internal disks wake up, hibernate from [Oct 24 08:01:53] 2018-10-24T08:32:37+08:00 Hamster-DS scemd: led/led_brightness.c:244 Fail to read /usr/sbin/i2cget 2018-10-24T08:32:37+08:00 Hamster-DS scemd: led.c:35 SYNOGetLedBrightness fail() 2018-10-24T08:32:59+08:00 Hamster-DS scemd: event_disk_hibernation_handler.c:42 The internal disks wake up, hibernate from [Oct 24 08:32:37]

清晰地表明了這就是休眠后立即喚醒的原因:由于黑群沒有 I2C 設備,于是 DSM 在休眠后嘗試更改 LED 亮度(或者顏色、閃爍規律?)時讀取 i2c 設備節點就會出錯,scemd 把這條錯誤信息記到自己的日志里,觸發了硬盤寫入,硬盤就在休眠十幾秒后被喚醒了.

4. 修復

根本上修復的話,得硬件上 I2C 適配器,甚至還能順便給黑群加上白群的那么多燈.但這是不現實的,那么我們就只能采取主流方法:解決提出問題的日志.預想方案是把這個日志文件指向內存,讓 scemd 往內存里寫,就不會喚醒硬盤了.
找到文件:

vim /etc.defaults/syslog-ng/patterndb.d/scemd.conf 修改 destination d_scemd { file("/var/log/scemd.log"); }; 為 destination d_scemd { file("/tmp/scemd.log"); };

重啟系統即可完美休眠.

總結

以上是生活随笔為你收集整理的黑群晖各种问题修正的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。