fsck_ufs: inoinfo: inumber xxxxxxxxxxxxxxxxx out of range 解決方式

手邊一台應該是從 FreeBSD 11 升上來的 storage server,在一次意外當機後重開,file system 變成 dirty 開機就卡住了。

一般的修復流程是進 single user mode,執行 fsck -y,讓 fsck 修復到 file system is clean,但這台在跑了 20 幾個小時之後,跳出了

fsck_ufs: inoinfo: inumber xxxxxxxxxxxxxxxxx out of range

然後 fsck 就自己結束了…

經過搜尋看到這篇討論應該是一樣的狀況。原因是 fsck_ffs 的 bug,在轉換 inode number 的時候因為資料類型不對,轉成負數了。而這個問題去年十月在這邊修掉了。

我的解決方式是用 13-RELEASE 的光碟開機,進 single user mode 執行修正這個問題後的 fsck 再修修看,這一次就正常跑完結束了。

修一輪要 20 幾個小時,頭痛…

[產品測試] APC BACK UPS 700 適合家用的不斷電系統(軟體篇)

隨機光碟中內有 APC 的 PowerChute Personal Edition。

APC BACK UPS 700 軟體
]1 APC BACK UPS 700 軟體

不過看起來就是只有 Window 版

啊好啦,用 Mac 和 FreeBSD 的我被排擠已經很習慣了啦XDDD

那麼因為我主電腦是接在 FreeBSD 上,加上 Windows 版本應該照著說明一步一步設下去就好了。

所以我就來筆記在 FreeBSD 上的安裝過程吧

閱讀更多

[FreeBSD]備份系統的bash script

這次應該萬無一失了,每天定時備份所有資料庫和/etc、/usr/local/etc裡面的設定檔、以及/home底下的所有資料。然後自己使用的Windows系統再定時從samba去把FreeBSD上的備份檔抓回來多存一份。

2013/08/08 UPDATE:現在我改成直接丟到開了NFS分享的NAS系統上面去

#!/usr/local/bin/bash

# 設定備份檔放置目錄
BACKUP_DEST="/nfs_backup/"
WORKINGDIR="/nfs_backup/"

# 設定會用到的工具路徑
CD="/usr/bin/cd"
FIND="/usr/bin/find"
MYSQL="/usr/local/bin/mysql"
MYSQLDUMP="/usr/local/bin/mysqldump"
RM="/bin/rm"
TAR="/usr/bin/tar"


# 備份所有資料庫
#   先列出所有資料庫
databases=`${MYSQL} -BN -uroot -p[密碼] -e "show databases"`

cd ${BACKUP_DEST}

date=$( date "+%Y%m%d")

for dbname in $databases;
do
    ${MYSQLDUMP} --single-transaction -uroot -p[密碼] ${dbname} > "${dbname}-${date}.sql"
    ${TAR} cjvf mysql-${dbname}-${date}.tar.bz2 ${dbname}-${date}.sql
    ${RM} -f ${dbname}-${date}.sql
done

# 備份/etc
${TAR} cjvfL ${BACKUP_DEST}etc-${date}.tar.bz2 /etc

# 備份/usr/local/etc
${TAR} cjvfL ${BACKUP_DEST}usr_local_etc-${date}.tar.bz2 /usr/local/etc

# 備份/usr/local/www/
${TAR} cjvfL ${BACKUP_DEST}usr_local_www-${date}.tar.bz2 /usr/local/www

# 備份/home
${TAR} cjvfL ${BACKUP_DEST}home-${date}.tar.bz2 /home

# 刪除7天前的檔案
${CD} ${WORKINGDIR}
${FIND} ${BACKUP_DEST}*.bz2 -mtime +7d -exec rm '{}' ;