歐哲安
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
      • Invitee
    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Versions and GitHub Sync Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
Invitee
Publish Note

Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

Your note will be visible on your profile and discoverable by anyone.
Your note is now live.
This note is visible on your profile and discoverable online.
Everyone on the web can find and read all notes of this public team.
See published notes
Unpublish note
Please check the box to agree to the Community Guidelines.
View profile
Engagement control
Commenting
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Suggest edit
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
Emoji Reply
Enable
Import from Dropbox Google Drive Gist Clipboard
   owned this note    owned this note      
Published Linked with GitHub
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
備份、自動化與大量管理 === - Book mode https://hackmd.io/@ncnu-opensource/book [TOC] >FIXME: FIXME: 加服務層級的東西 DR site,SRE [備份的介紹](https://www.reddit.com/r/DataHoarder/wiki/backups#wiki_storage_providers) [Duplicati](https://duplicati.readthedocs.io/en/latest/05-storage-providers/) ## 為什麼要備份? 備份的由來? ![](https://i.imgur.com/qkQRwuk.png) <br><br> :::warning *「I solemnly swear to backup my important documents and precious memories on March 31st.」* ::: <br><br> ![](https://i.imgur.com/TkgypLR.jpg) ![](https://i.imgur.com/B0Vj2pZ.jpg) ![](https://i.imgur.com/fiuCSmZ.png) >FIXME: 補圖片來源 - 根據世界日的官方網站 - 全球每天有 113 部手機遺失 - 29 % 的資料因為意外受損 - 每個月 10 台電腦有 1 台中毒 - **30% 的人從未備份** :::info **所以怎麼樣才可以稱得上是備份?** 1. 可以保留這份檔案先前的版本 2. 至少要有一份異地備份 3. 使用多種備份解決方案,EX:on-site 和 off-site 的 硬體不同 4. 可以進行測試還原,確保能正確還原 5. 還原的時候可以有選擇的還原(為了還原一個檔案,不需要去還原整份備份檔) 6. 備份檔要可以打開並查閱 7. 在備份前要想到所有有可能發生的事故,並且都能有有效處理方案 ::: >備份的重點是要能夠回朔 >[name=Blue T] :::danger **所有不知道如何還原所有內容的方法都不能稱得上是備份!** ::: - 基本的備份策略: - 3-2-1 備份: - 3 份資料(備份三份) - 2 種不同類型的儲存媒體 - 1 分資料離地保存(存在不同的地方) ### 備份的由來 ![](https://i.imgur.com/LjAfto2.jpg) :::info - 1725 用紡織機讀取以及執行 打孔卡( punch cards ) - 最早用機器讀取"物理程式"( physical code ) - 讀寫卡需要被保存 - 1890 Herman Hollerith - 使用電腦**讀寫** 打孔卡 - 在這之前都是使用人力的方式記錄 - 1950s Tape - 成本低 - 數據量是1張打孔卡的 10000 倍 - 備份時間非常長 - 恢復資料的時間也很長 - 1956 IBM 發明第一台Hard Disk Drive (HDD) - 重量 5 公噸 - 儲存容量 5MB - 成本非常高 - 1979 HDD - 儲存容量 250 MB - 1985 HDD - 容量 40MB HDD 售價 $ 40,000 US - 1990s HDD 變成主流 - 儲存容量約 1GB - floppy disks, zip drives, writable CDs/DVDs, and flash drives 的出現 - HDD 的優勢 - 更加快速 - 可以使用軟體自動備份 - 1990s 年代中期 cloud - 安全性存疑,大多用於企業內部 - cloud 優勢 - 無須管理軟體 - 數據量龐大,成本過高 [來源](https://itsupportguys.com/it-blog/a-brief-history-of-data-backup/) [來源](https://www.i-garden.org/blog/2011/10/11/historical-evolution-of-storage-media-storage-media-history-6-from-punch-cards-to-the-cloud/) ::: ![](https://i.imgur.com/sTbJcq6.png) ![](https://i.imgur.com/bGUV9Ot.png) ### 不備份會怎樣? - 勒索軟體Stop(Djvu) ![](https://i.imgur.com/fzn1N0i.png) - Linux伺服器勒索 ![](https://i.imgur.com/fHMukVI.png) - [圖片來源1](https://www.dcard.tw/f/mood/p/235769870) - [圖片來源2](https://blog.trendmicro.com.tw/?p=50526) :::info ## 儲存媒介( Storage media ) ### 磁帶( Magnetic tape ) - 線性,保存久,價格便宜,速度... - 很少去存取資料 ### 硬碟( Hard disk ) - 1956 IBM 開始使用 #### HDD >硬碟的內部構造其實相當的精密,讀寫頭是藉由碟片運轉時產生的氣流,利用白努力定律而「漂浮」在磁碟片上,其中的間隔距離是用奈米來做計算單位,比粉塵還要微小, - 傳統硬碟由塗滿了磁性物質的碟片所構成,藉由讀寫頭去改變磁性物質的極性方式進而去紀錄資料 ### Optical storage - CD 、 DVD 或 blu-ray Discs - 寫入頻率低 - 容量和速度低於硬碟和磁帶 - 2016 SONY 的光盤存檔能到達 256 MB / S 的讀取速度 ### Solid-state drive ( SSD ) - 主要由控制器、儲存記憶體(FLASH Memory)所構成,快取記憶體(RAM)的部分則不一定都會有,看控制器本身的設計。 - 使用改變電壓值的方式來紀錄資料 - 記憶體顆粒主要有 MLC (Multi Level Cell,多層式儲存)及 SLC (Single Level Cell,單層式儲存) | | MLC | SLC | | - | - | - | |每個單元存的電壓值|高|低| | 成本 | 低 | 高 | |使用壽命|短|長| |寫入速度|慢|快| ### Remote backup service - 服務商提供異地保存 ::: ## 備份的類型 ### Full Backup(完整備份) - 將全部檔案進行一次性的備份。 - 例如: - 將某個磁碟分割區內的所有檔案進行備份 - 將硬碟內所有磁區內的檔案進行一次性的快照並備份。 - [FULL BACKUP](https://www.acronis.com/en-us/articles/incremental-differential-backups/) ### Incremental(增量備份 / 漸進式備份) ![](https://i.imgur.com/NdCkBLX.png) - 繼上次任何備份後所更新的檔案,進行備份 - 備份時間短 - 回存資料很複雜,要回存每一次備份時的資料 - 但要恢復最早之前的資料時,要將每一次增量備份的資料都還原 :::info ### Near-CDP > https://www.computerweekly.com/Continuous-data-protection-CDP-explained-True-CDP-vs-near-CDP > https://www.informationweek.com/why-continuous-data-protections-getting-more-practical/d/d-id/1088883 > https://www.digitimes.com.tw/iot/article.asp?cat=130&cat1=50&cat2=10&id=0000127363_own4luup511wvs43wo8jh - Continuous Data Protection ( CDP ) - 可以保存對資料所做的更改的副本( copy ),以此便能將數據恢復到任意時間點 - 將每次做的寫入都存進 log 中 - 多數產品能備份到兩個位置 - 本地: 能隨時且快速地回復資料 - DR site: 以便發生災害時( 本地的資料毀損 )時,從遠方恢復資料 - Near-CDP - 和 CDP 類似 - 以定期時間進行增量備份 - 無法恢復任何時間點 - 比 CDP 更加實用,不受運行方式限制 <br> | | CDP | Near CDP | | -------- | -------- | -------- | | 價格 | 高 | 低 | |需要時間|少(數秒)|多(數分)| |一般應用|線上交易、拍賣網站|資料庫、電子郵件伺服器| |備份頻率|每次寫入|一段時間一次(一般是半小時或15分鐘)| |特點|需要用虛擬機或是其他等效的軟體運行,適合企業|有熱備份能力,但只需要冷備份價格、節省磁碟空間| [來源](https://en.wikipedia.org/wiki/Continuous_Data_Protection) #### 冷備份、熱備份 - 冷備份:系統處於停機或維護狀態下的備份。這種情況下,備份的資料與系統中此時段的資料完全一致。 - 熱備份:系統處於正常運轉狀態下的備份。這種情況下,由於系統中的資料可能隨時在更新,備份的資料相對於系統的真實資料可有一定滯後。 | 種類 | 熱備份 | 冷備份 | | -------- | -------- | -------- | | 模式 | 歸檔模式 | 非歸檔模式 | |資料恢復|任意時間點|完全備份 | |效能|少許降低|少許提高| :::success 歸檔模式:就是一般資料庫會有至少2個連機重做日誌組( Online log file ),當 Online log file 1 被寫滿時,就會切換到 Online log file 2,當 2 被寫滿時便切換回 1,而歸檔模式就是在切換時,會將當前已被寫滿的 Online log file 進行歸檔並複製到另一個指定目錄下(歸檔目錄),至於非歸檔模式則是會將當前 Online log file 直接丟棄。 Online log file : 它會記錄對資料庫做的修改,包括:插入、更新、刪除..等。 ::: - [資料來源](https://iter01.com/300344.html) :::info **Veeam 備份 VM 的種類** - 和以往的備份不同,多了changed block tracking 技術 #### Reverse incremental ![](https://i.imgur.com/hJq6KRJ.png) - 先做一次完整備份,之後每天**增量備份**,然後將增量備份合併之前的完整備份,當作今日的備份 - 最新的是一份 Full data - 之前的都是 increnmental - 優點:可以反推回幾天前的狀態 - [來源1](https://helpcenter.veeam.com/docs/backup/hyperv/reversed_incremental_backup.html?ver=110) [來源2](https://cilenlin.blogspot.com/2017/06/veeam-vm-backup-mode.html) [來源3](https://blog.xuite.net/tolarku/blog/436204195) ::: ### Differential( 差異備份 ) ![](https://i.imgur.com/bts3uta.png) - 僅保存從上次完整備份之後更改的檔案數據 - 還原整個系統? - 先從最近的完整備份 - 加上最近的差異備份 - 優點 - 節省每次進行完整備份需要消耗的大量儲存空間 - 缺點 - 資料或檔案發生毀損時,要復原最後一份差異備份時,要依序將每一份定期的備份逐一檢查 | | 全部備份 | 增量備份 |差異備份| | -------- | -------- | -------- |-| | 備份時間 | 長 | 短 | 中 | |復原檔案|最近一次全部備份|上一次全部備份+之後每一次的增量備份|上一次全部備份+最近一次差異備份| ## 備份的對象 :::info ![](https://i.imgur.com/KNOhRVX.png) - 結構式資料( structured data ) - 資料擺放整齊,有固定欄位 - 非結構式資料( unstructured data ) - 資料的本質,還未經過處理 - 亂成一團的資料,主要是資料的格式和以上不同 - 很難被處理 - 半結構式資料 - 有欄位,但每個欄位變數不一定相同 - 容易收納變數極多或難以預測的資料集,並依然可以查詢 - 會消耗額外空間 ::: ### Information :::info 備份前的資料都是 hot / warm data 備份之後的資料是 cold data ::: #### 書 ![](https://i.imgur.com/5elUkTQ.jpg) [來源](https://zh.pngtree.com/freepng/stacked-creative-book-illustration_4706030.html) #### mysqldump - 資料庫備份工具 - 備份單一或多個資料庫以及單一或多個資料表 ### File #### rsync - 遠端備份,檔案同步 - 預設以 SSH 登入遠端的主機 ```shell= rsync -avzh /path/myfile.gz QQ@192.168.1.1:/backup/ ``` #### tar - how tar works - 在完整備份時,先創建一個快照文件 - 下次備份會檢查此文件以找出自上次備份以來被更動過的文件 - 只寫入已更改的文件和目錄 - 完整備份 ( full backup ) - 壓縮檔案 ```shell= tar zcvf "輸出的檔案".tgz source(目錄的名稱,備份整個目錄) ``` - 解壓縮 ```shell= tar zxvf "備份檔".tgz ``` :::info **tar 常用指令** <br> | 指令 | | | -------- | -------- | | -c | 打包檔案 | |-x|解開壓縮檔| |-t|檢視壓縮檔內容| |-z|使用 gzip 壓縮或解壓縮| |-j|使用 bzip2 壓縮或者解壓縮| |-J|使用 xz 壓縮或者解壓縮| |-v|顯示執行過程| |-p|使用絕對路徑| |-f|指定的壓縮檔檔案名稱。**參數後面要接檔案的名稱**| |-N|比對日期。比此參數後面接的日期 (yyyy/mm/dd) 還要新的才會被打包| |-g --listed-incremental|創一個 GNU 格式的增量備份,並使用一個文件來比較所有的改變| [指令1](http://www.vixual.net/blog/archives/127) [指令2](https://www.freecodecamp.org/news/tar-in-linux-example-tar-gz-tar-file-and-tar-directory-and-tar-compress-commands/) [指令3](https://kknews.cc/zh-tw/code/k2gy6r8.html) ::: - 增量備份 - 使用 gzip 壓縮備份並使用快照文件( snapshot-file )標示已修改的文件 - backup.tar.gz 指定要壓縮成的文件名稱 - now 此目錄下的子目錄和所有文件都加進來 - 壓縮檔案 ```shell= tar -zcvg snapshot-file -f backup.tar.gz nowlist tar -tvf backup.tar.gz tar -zcvg snapshot-file -f 1-backup.tar.gz now tar -zcvg snapshot-file -f 2-backup.tar.gz now ``` - 查看檔案 ```shell= tar -tvf 1-backup.tar.gz //查看 tar -tvf 2-backup.tar.gz ``` [tar來源](https://www.computernetworkingnotes.com/linux-tutorials/create-and-restore-incremental-backups-in-linux-with-tar.html) #### deplicity / DeJaDup :::warning 這些類似的工具還可以支援各種備份資料的保存方式! ::: - Ubuntu內建的備份軟體 - 使用 rsync 進行增量備份 ![](https://i.imgur.com/fCedbMm.png) ![](https://i.imgur.com/SLU8Fe1.png) ![](https://i.imgur.com/vb7l00F.png) ![](https://i.imgur.com/rXZiDp2.png) ![](https://i.imgur.com/MEuitS0.png) ![](https://i.imgur.com/kqdLGyT.png) ![](https://i.imgur.com/O5gATv2.png) ![](https://i.imgur.com/GWBfE8u.png) ![](https://i.imgur.com/dG3VXAK.png) [看 log 檔](https://www.tecmint.com/watch-or-monitor-linux-log-files-in-real-time/) ### File System :::info **一個目錄底下有檔案或是使用空間上限?** <br> - 看目前系統上分割區的容量資訊,單位 MB ```shell= df -m ``` ![](https://i.imgur.com/mcf9ZAc.png) <br> - 顯示分割區可以存放的檔案數量 ```shell= df -i ``` ![](https://i.imgur.com/4eU5k8f.png) <br> > 磁碟限額 Quota > [Quoto](http://linux.vbird.org/linux_basic/0420quota/0420quota-fc4.php) ::: #### ZFS :::info ZFS的功能 1. Pooled storage ![](https://i.imgur.com/lXgCbM2.png) - VDEV:被用來表示建置的 RAID 2. Copy-on-write - 一般資料被覆蓋時,資料會永遠消失 - ZFS則是在寫入新資料時,會將新資料寫入另一個區塊( block ),當寫入完成,檔案系統會指向新寫的資料 - 在寫入時發生系統崩潰,舊的資料也還會保留下來 3. Snapshots - 使用快照來追蹤整個檔案系統中的更改 - 可以恢復某個檔案到先前的版本 - 也可以直接將現在的檔案系統回復到之前的快照,這樣所有之前對檔案系統的修改都會不見 - 快照包括 - 檔案系統原始的版本 - 任何對檔案系統做過的更改( live file system ) - 新增和刪除? - 新增:當新的資料寫入 live file system ,它將會分配新的區塊來儲存這些資料 - 刪除:當刪除資料的時候,其快照的參考資料也會被刪除 4. Data integrity verification and automatic repair 5. RAID-Z - RAID-5 的變體,主要是要解決「 RAID-5 意外重啟之後,資料和校驗碼不一致的」的問題 - 組成: - 至少2顆硬碟,其中一顆用於儲存校驗碼 6. Maximum 16 Exabyte file size 7. Maximum 256 Quadrillion Zettabytes storage ::: [ZFS](https://itsfoss.com/what-is-zfs/) <!--#### ext4 [ext4](http://120.105.184.250/peiyuli/network-2/%E6%AA%94%E6%A1%88%E7%B3%BB%E7%B5%B1.htm)--> ### block device :::info **block** - 硬碟的最小儲存單位為 Sector ,每個 Sector 儲存 512 位元組 - 作業系統讀取硬碟的時候,一般一次性讀取一個 block (一個 block 一般為8個 Sector 組成) > 每個區塊都有特定編號,方便 inode 紀錄 > [inode](https://www.itread01.com/content/1542281710.html) ::: #### dd - data duplicator ![](https://i.imgur.com/jTrPCP3.png) [來源](https://www.ibm.com/docs/zh-tw/aix/7.1?topic=dd-command) [圖片](https://blog.gtwang.org/linux/dd-command-examples/) #### System imaging(映像) - 就像是照一張相片( snapshot ),將當下是整顆磁碟的所有磁區包括電腦系統的狀態複製一份下來 - Disk image - 將磁碟中,所有磁盤內的資料複製下來 - Process image - 會載入記憶體中並執行的檔案 - 將特定時間的系統狀態複製下來 - EX:休眠 - 將 RAM 的狀態存進磁盤,恢復電腦之後,電腦就能恢復到原本開機前記憶體的狀態 :::info **BT補充:** Program:可執行的 file Process:正在執行的Program ::: - 不是一般備份會有的選擇 - 花費時間長 - 耗費的容量太大,有多餘的文件不需要備份 - 系統文件 - 再重新安裝作業系統即可 - 程式文件 - 再重新安裝這些程式即可 - 使用時機? - 將標準配置部屬到許多系統的方式 - 如果要升級硬碟( 從 比較慢的 HDD 到 SSD ) - 先創建整顆硬碟的系統映像 - 將硬碟換成 SSD - 再將映像還原到 SSD > [來源](https://www.howtogeek.com/192115/what-you-need-to-know-about-creating-system-image-backups/) :::spoiler >- 可將電腦上的整份可用資料儲存為單一檔案,其中包括作業系統和程式檔案,之後可用於復原電腦,完全回復到映像建立時的初始狀態。 >- 這種復原方式**適合因應重大硬體故障事件**,也可以用來重新安裝作業系統,而無需耗時重新安裝程式、復原電子郵件和檔案。 ::: ## 備份管理( Management ) - 用各種方法來管理備份介質( backup media ) - 這些方法不互斥 ### On-line :::info Computer data storage on a medium or a device that is under the control of a processing unit ::: - 最容易訪問的資料儲存類型 - EX : 內部硬碟或硬碟陣列、 File hosting service 或 cloud storage ### Near-line - 不易訪問但價格便宜 - 介於 online 和 Off-line - 資料沒辦法立即使用,但可以不透過人為的干預連上網 - EX:如果我想要持續性的一直將資料傳到雲端空間,並且我要平均一個月甚至更久才進去一次查看或修改資料, Near-line 就很適合提供這種需求。 >A mechanical device is usually used to move media units from storage into a drive where the data can be read or written. - EX : tape library [來源](https://cloud.google.com/storage/docs/storage-classes) ### Off-line - 很少存去取 - 離線儲存,需要直接的實體連接來對儲存介質( storage media )訪問 :::success On-line Near-line Off-line 取決於**資料的使用頻繁次數**和**儲存空間的等級** ::: ### Off-site data protection - 將備份介質( backup media )發送到異地保存 ### Backup site / DR site - 主要是在數據中心( data center ) 發生災難時,能及時恢復數據及復原 IT 基礎設施 - internal site - 第二個資料中心,在主中心發生災難時能及時恢復並重新開始操作 - external site - hot sites - 該組織可以訪問具有完整功能的資料中心 - 全天候有人值班 - 在災害發生時隨時準備接手 IT 設施 - warm sites - 包含數據中心部分設備 ( 軟體, 硬體, 網路服務, 人員) - 資料齊全但不具有客戶資料 - 災害發生時能安裝額外的設備並引入客戶資料 - cold sites - 具有支持 IT 系統和數據的基礎設施 - 在啟動災害計畫並安裝設備之前,不具有技術 - 會長時間停機 - 災害太久時能拿來補充 hot sites 或 warm sites ## 備份應用 >公有雲在哪些狀況下(自用的/學校機房)有哪些解法或策略 ### 公有雲 :::info - On-Premises - 最早想要在某個網站上運行企業應用,要去購買伺服器,或是儲存裝置之類 - IaaS - 提供伺服器、儲存裝置和網絡媒體,大大減少維護成本 - PaaS - 提供雲端基礎設施,使用者只需要控制應用程式的部署與應用程式代管的環境 - SaaS - 使用者只需要透過網路就能使用這些軟體 | | IaaS | SaaS |PaaS| | -------- | -------- | -------- |-| | 準備 | 從作業系統到虛擬機,都需要自己準備 | 服務商全部提供 |雲端基礎設施(伺服器、網路、作業系統或儲存)| |例子|VM、Amazon EC2|Gmail|Google App Engine| ![](https://i.imgur.com/Y2fmH3E.png) ![](https://i.imgur.com/v1Ffb7e.png) [圖片](https://docs.microsoft.com/en-us/learn/modules/fundamental-azure-concepts/categories-of-cloud-services) ::: - 通過網際網路,將資料備份到像是 Google Drive 之類的雲端空間 - 優點: - 保護性高 - 不需要花建置的人力或時間 - 缺點: - 花費的金額會隨著儲存的資料量增加而提高, - 透過網路來備份速度較慢 - 因為是透過帳密來連上公有雲,因此有資料會因個資外洩而被盜取的可能 - 資料的所有權不在自己的手上,有很多案例可以說明公有雲可能隨時說關就關,或是收費方式坐地起價,遇到這種情形也只能選擇乖乖搬家或是乖乖繳費。 ### 本地備份 - 簡單來說就是透過 DAS 儲存,將檔案透過實體連接,將資料備份到外部裝置上,EX:外接硬碟、隨身碟 - 優點: - 不需要技巧也不需要使用特殊工具,只要將檔案複製過去就好 - 傳輸速度快 - 成本低 - 缺點: - 如果需要定期備份,或是指定路徑決定備份到的資料夾,長期下來需要有特定軟體來幫助規劃備份 - 外接硬碟的損毀的可能性 - 當電腦中毒時,外接硬碟中在備份的同時也有可能被感染到。 :::info ### DAS、NAS、SAN - DAS(直連式儲存) - Direct-Attached Storage - 直接和電腦連接的儲存方式 - 例如:固態硬碟、機械硬碟、光碟機 ![](https://i.imgur.com/NztuqNz.jpg) - NAS(網路儲存裝置) - Network Attached Storage - 一部專門用來存放資料的電腦,只有NAS連上網路,其他人就能在NAS存取資料 ![](https://i.imgur.com/qDqtzby.jpg) ![](https://i.imgur.com/lKBjVAH.jpg) - 那要怎麼讓電腦和NAS進行資料夾的共享呢? - 透過協議 EX: SAMBA,Sever Message Block ( SMB ) - 和 DAS 的比較 | | DAS | NAS | | -------- | -------- | -------- | |價格|低|高| | 連網 | 不需要 | 需要 | |擴大容量|每一台電腦都要擴充|只需要擴充 NAS 的| - SAN(儲存區域網路) - Storage area Network ![](https://i.imgur.com/DoM70D3.png) - 它是一種資料儲存裝置,不過它只提供給Server,讓Server有額外的硬碟裝置 - 優點 - Disk arrays 之間資料可以共享 - 可以容錯 (Disk arrays 或 Switches 或 Servers 故障,仍可以訪問資料) - 高擴展性 - 不是區域網絡的一部分,它自成一種網路的型態,因此不會受到網路流量的影響 - 缺點 - 價格高 - NAS 和 SAN 比較 | | NAS | SAN | | -------- | -------- | -------- | | 價格 | 低 | 高 | |OS recognize|shared network drive|local attached hard drive| ![](https://i.imgur.com/nEH4N6J.png) <br> :::success NAS主要是檔案分享 ( file sharing ) SAN則是硬碟空間的分享 ( block sharing ) ::: ### 磁碟陣列( RAID ) - 原理 :::success 一般使用者在電腦儲存資料的時候,當一顆硬碟存滿之後,就需要再購買第2顆、第3顆甚至更多顆來加裝使用,這樣會造成許多問題,包括查找資料的時候很複雜,或是當容量不足的時候需要繼續加裝,所以這時候 RAID 就誕生了,透過至少2顆以上組建而成,由特殊演算方式將這些硬碟組成一個儲存空間,並將資料分散在各個硬碟。 ::: #### RAID 0 ![](https://i.imgur.com/naiAwD5.png) - 直接將兩個硬碟並列起來 - 因為可以同時寫入和讀取,所以速度最快 - 一個磁碟損壞,所有資料都會遺失 #### RAID 1 ![](https://i.imgur.com/KNl9vSQ.png) - 在主硬碟寫入時,鏡像硬碟也會寫一樣的資料 - 鏡像硬碟相當於為主硬碟做備份,因此損壞時鏡像硬碟便能繼續接替工作 - 安全性最高 - 可容許一個磁碟損壞 - 磁碟利用率最低,一個主硬碟要搭配一個鏡像硬碟 #### RAID 2 ![](https://i.imgur.com/hSyuNSD.png) - RAID 0 的改版 - 因為加入錯誤修正碼(ECC,Error Correction Code),資料整天容量變大 #### RAID 3 ![](https://i.imgur.com/y60OAoT.png) - 會將檢查碼存在其中一顆硬碟 #### RAID 4 ![](https://i.imgur.com/ad2WWob.png) - 會將檢查碼存在其中一顆硬碟 #### RAID 5 ![](https://i.imgur.com/cQa5Pn3.png) - 至少要三顆硬碟 - 將檢查碼分布在每個硬碟,分散風險 - RAID 0 和 RAID 1 的折衷方案 - 當一顆硬碟故障,可以透過其他幾顆的硬碟資料去做恢復。 - 一份資料拆分成N-1份,分別寫入硬碟 - N-1顆使用空間 - 只允許一顆硬碟損壞 #### RAID 6 ![](https://i.imgur.com/ocpQVMx.png) - 和 RAID 5類似,但多一組奇偶校驗碼 - 多一套演算法,因此使用空間是N-2顆 - 可允許2顆硬碟損壞 :::info Parity ( 檢查碼 ) 以 RAID 5 舉例,假設三顆硬碟 - parity 是將 第一顆的1 bit 和 第二顆的 1 bit 做 XOR 運算,將結果存在第三顆 - 發生故障時,將故障的硬碟替換掉,之後 RAID 的控制器會從其他兩顆硬碟去重建已經丟失的數據 ::: #### JBOD ( Just a Bunch Of Disks ) ![](https://i.imgur.com/Y15Fl26.png) - 並非算是 RAID 的模式 - 只是將多個硬碟湊在一起,變成像是一顆有大硬碟 - 速度還是跟單一硬碟相同 [來源](https://www.r-data.com.tw/technical-detail/61/) | 磁碟陣列 | RAID 0 | RAID 1 | RAID 5 | RAID 6 |JBOD| | -------- | -------- | -------- | -|-|-| | 容錯硬碟 | 0 | 1 |1|2|0| |需要硬碟數|2(以上)|2|3(以上)|3(以上)|1| |儲存容量|全部總和N|N/2|N-1|N-2|N| |風險|容量大但風險最高|低|中|中(比 RAID 5 低)|很高,無容錯性| |效能|速度快|n|n-1|n-2|跟去讀寫1顆硬碟的速度一樣快| [自動化與大量管理](https://hackmd.io/LqiMw8qRS2usU_IpQBe-Yg)

Import from clipboard

Paste your markdown or webpage here...

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lose their connection.

Create a note from template

Create a note from template

Oops...
This template has been removed or transferred.
Upgrade
All
  • All
  • Team
No template.

Create a template

Upgrade

Delete template

Do you really want to delete this template?
Turn this template into a regular note and keep its content, versions, and comments.

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Forgot password

or

By clicking below, you agree to our terms of service.

Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
Wallet ( )
Connect another wallet

New to HackMD? Sign up

Help

  • English
  • 中文
  • Français
  • Deutsch
  • 日本語
  • Español
  • Català
  • Ελληνικά
  • Português
  • italiano
  • Türkçe
  • Русский
  • Nederlands
  • hrvatski jezik
  • język polski
  • Українська
  • हिन्दी
  • svenska
  • Esperanto
  • dansk

Documents

Help & Tutorial

How to use Book mode

Slide Example

API Docs

Edit in VSCode

Install browser extension

Contacts

Feedback

Discord

Send us email

Resources

Releases

Pricing

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions and GitHub Sync
Get Full History Access

  • Edit version name
  • Delete

revision author avatar     named on  

More Less

Note content is identical to the latest version.
Compare
    Choose a version
    No search result
    Version not found
Sign in to link this note to GitHub
Learn more
This note is not linked with GitHub
 

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

      Link with GitHub

      Please authorize HackMD on GitHub
      • Please sign in to GitHub and install the HackMD app on your GitHub repo.
      • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
      Learn more  Sign in to GitHub

      Push the note to GitHub Push to GitHub Pull a file from GitHub

        Authorize again
       

      Choose which file to push to

      Select repo
      Refresh Authorize more repos
      Select branch
      Select file
      Select branch
      Choose version(s) to push
      • Save a new version and push
      • Choose from existing versions
      Include title and tags
      Available push count

      Pull from GitHub

       
      File from GitHub
      File from HackMD

      GitHub Link Settings

      File linked

      Linked by
      File path
      Last synced branch
      Available push count

      Danger Zone

      Unlink
      You will no longer receive notification when GitHub file changes after unlink.

      Syncing

      Push failed

      Push successfully