[Linux] ZFS檔案系統 – 維護概念指南 – 匯入換頭 – Ubuntu

基本介紹 ZFS檔案系統最早源自於昇陽電腦為Solaris作業系統,版權後為Oracle所有。 因版權問題,所能支援之OS不多,Ubuntu在16.04版本後開始支援。 原理 ZFS自帶軟體層RAID,可將多顆硬碟整合成一個Pool(儲存池),轉為檔案結構供OS直接存取。 Pool的設定檔是存於實體硬碟上(Import & Export),所以更換OS或抽換硬碟時,可以使用zpool import掃描pools做匯入。 指令 (For Ubuntu) Ubuntu 16.04 安裝ZFS apt-get install zfs Create a Pool (重新格式化所選硬碟) zpool create pool-name /dev/sdb zpool create pool-name /dev/sdb /dev/sdc //RAID-0 zpool create pool-name mirror /dev/sdb /dev/sdc //RAID-1 創建完成後根目錄下會產生pool-name檔案系統目錄 […]

[Linux] badblocks – 硬碟壞軌檢查與修復指南 – 使用Gparted

使用情境 在做硬碟壞軌掃描,有諸多工具可使用,包括從最早的DOS SPFDisk、到各式Windows base檢查修復軟體。 若已在OS下做硬碟檢測,使用OS所附工具即可,Linux直接跑badblocks檢測其他dev,不須往下參考 本篇情境為,對單一主機做最大限度的實體硬碟批量檢測,例如一台主機插滿4顆硬碟,用Live USB開機進行檢測。 使用工具 badblocks (使用Linux原生檢查硬碟程序) Gparted (純粹使用它底層Live Linux-Debian OS,以使用badblocks) Rufus (製作可開機USB工具for Windows,支援MBR兼容UEFI開機) 檢測流程 使用Rufus工具燒錄Gparted Live映像檔,製作出Live USB。 目標主機使用Live USB進入Gparted Gparted的OS為Debian-Linux,進入Terminal,即可執行badblocks檢測。 Terminal可以多行程執行,如一次有四顆實體硬碟則可以同步並行檢測。 Terminal實作指令 先切換身分為root sudo su 列出裝置指令 lsblk //簡易列出裝置與其分割表 fdisk -l parted -l 查看硬碟資料(SN) hdparm -i /dev/sdx […]

[Linux] Bash – dos2unix – 解決Shell Script vim儲存後,執行出現編碼問題

原由 在寫PHP Cli script時使用Shell Script,例如: #!/usr/bin/php -q 然而chmod改好執行權限,執行後卻報錯,例如: Exception: Zend Extension /script.php does not exist 這問題可能發生在vim或從Windows上傳PHP檔案後造成,原因應為編碼問題。 解決方法 vim內設定UNIX編碼後再儲存,達到dos2unix效果: :set ff=unix Reference: http://stackoverflow.com/questions/82726/convert-dos-line-endings-to-linux-line-endings-in-vim

[Linux] Rsync 基本使用 – 遠端rsync WebApplication佈署範例

指令語法 rsync -option /來源目錄 /目的路徑/ 範例 rsync -av /home/www/www.project.com/webroot www-data@10.1.2.10:/home/www/www.project.com/ Exclude範例用法: rsync -av –delete –exclude “web/upload” –exclude “yii” /home/www/www.project.com/webroot www-data@10.1.2.10:/home/www/www.project.com/ 參數表: -v, –verbose increase verbosity –info=FLAGS fine-grained informational verbosity –debug=FLAGS fine-grained debug verbosity –msgs2stderr special output handling for debugging -q, […]

[Linux] vi 與 vim 指令一覽表整理

Intro vi 在寫 code 改 code 實在有它特有的魅力,我這邊轉載整理了 vi / vim的指令,這樣就不用再去設快捷鍵 (像Mac Terminal的"/033[5~") vi 是 unix 家族下最功能強大的文字編輯器,讓用戶只要使用一個鍵盤就可以完成所有的編輯。而 vim 則是 vi 的加強版,甚至在 Windows 上也找得到 vim 的芳蹤。但 vi/vim 眾多的指令卻經常令初學者卻步,它的指令還有分大小寫,以下整理出這些指令: 編輯模式 指令 說明 i 在游標位置進入編輯模式 I 在游標行的第一個非空白字元進入編輯模式 a 在游標位置後進入編輯模式 A 在游標行的最後一個字元進入編輯模式 o 向下新增一行,並進入編輯模式 O […]

[Linux] 使用dd指令 – 硬碟讀寫效能測試

dd 指令測試方式 指令: dd if=<Input File> of=<Output File> bs=<Bytes> count=<Count> Read測試指令範例 : dd if=/dev/sdb1 of=/dev/null # 產生資料顯入測試方式 dd if=/dev/zero of=/tmp/output bs=1M count=1K; rm -f /tmp/output Write測試指令範例 : // 同步資料寫入(fdatasync),執行完一次性寫入,模擬單檔Stream寫入 dd if=/dev/zero of=/tmp/output bs=1M count=1K conv=fsync; rm -f /tmp/output // 逐筆資料寫入(dsync),依照Block […]