如何使用兩塊硬盤作為 Ubuntu24 的系統盤,實現壞掉一塊不影響系統運行。

最近我想使用Ubuntu組一個NAS系統,想實現系統盤冗余,各位大佬可以給點建議嗎。

Deep Seek

為了實現兩塊硬盤作為 Ubuntu 24 系統盤的冗余配置(RAID 1),確保一塊硬盤損壞時系統仍可運行,以下是詳細步驟:


一、準備工作

  1. 備份數據
    所有硬盤數據將被清除,操作前請備份重要數據。

  2. 硬件要求

    • 兩塊相同或容量相近的硬盤(如?/dev/sda?和?/dev/sdb)。

    • Ubuntu 24 安裝介質(U盤或光盤)。


二、安裝 Ubuntu 24 并配置 RAID 1

  1. 啟動安裝介質
    插入 Ubuntu 安裝 U 盤,重啟電腦并從 U 盤啟動。

  2. 進入手動分區模式

    • 在安裝類型界面選擇?"Custom storage layout"(自定義存儲布局)。

  3. 為每塊硬盤創建 RAID 分區

    • 分別對兩塊硬盤執行以下操作(以?/dev/sda?和?/dev/sdb?為例):

      1. 選擇第一塊硬盤(如?/dev/sda),點擊?"Add GPT Partition"

      2. 創建分區:

        • EFI 系統分區(必需):

          • 大小:1GB

          • 類型:EFI System Partition

          • 掛載點:/boot/efi(后續需為每塊硬盤單獨創建)

        • RAID 分區(剩余空間):

          • 類型:Physical volume for RAID

      3. 重復以上步驟為第二塊硬盤(如?/dev/sdb)創建相同分區。

  4. 配置軟件 RAID 1

    • 點擊?"Create software RAID",選擇 RAID 類型為?RAID 1

    • 添加兩塊硬盤的 RAID 分區(如?/dev/sda2?和?/dev/sdb2)。

    • 為該 RAID 設備分配掛載點:

      • 根目錄?/
        文件系統?ext4,掛載到?/

      • 交換分區(可選)
        可創建一個交換分區或使用?swap?文件。

  5. 配置 EFI 分區(關鍵步驟)

    • 由于 UEFI 不支持從 RAID 啟動,需為每塊硬盤單獨創建 EFI 分區:

      1. 分別為?/dev/sda1?和?/dev/sdb1?設置掛載點為?/boot/efi

      2. 確保安裝引導程序到?兩塊硬盤(后續步驟)。

  6. 安裝引導加載程序

    • 在安裝界面底部選擇?"Advanced",將引導加載程序安裝到?兩塊硬盤(如?/dev/sda?和?/dev/sdb)。

  7. 完成安裝
    確認配置無誤后,開始安裝系統。


三、安裝后驗證與配置

  1. 檢查 RAID 狀態
    系統安裝完成后,打開終端執行:

    cat /proc/mdstat

    輸出應顯示?RAID1?狀態為?active,兩塊硬盤均為?U(正常)。

  2. 配置 RAID 監控與報警

    • 安裝?mdadm?監控工具:

      sudo apt update && sudo apt install mdadm

    • 配置郵件通知(可選):

      sudo nano /etc/mdadm/mdadm.conf

      添加以下內容(替換為你的郵箱):

      MAILADDR your-email@example.com

  3. 測試冗余性(模擬故障)

    • 標記一塊硬盤為故障(例如?/dev/sda):

      sudo mdadm --manage /dev/md0 --fail /dev/sda2

    • 移除故障硬盤:

      sudo mdadm --manage /dev/md0 --remove /dev/sda2

    • 重啟系統,驗證是否仍能正常啟動。


四、更換故障硬盤

  1. 插入新硬盤
    物理替換損壞的硬盤(如?/dev/sda)。

  2. 將新硬盤加入 RAID
    ?

    sudo mdadm --manage /dev/md0 --add /dev/sda2

    RAID 將自動開始同步數據。

  3. 重新安裝引導加載程序

    sudo grub-install /dev/sda
    sudo update-grub


五、注意事項

  1. 性能影響
    軟 RAID 1 的寫入速度略有下降,讀取速度可能提升。

  2. 定期檢查
    建議每月檢查 RAID 狀態:

    sudo mdadm --detail /dev/md0

  3. 備份 EFI 分區
    可手動備份 EFI 分區內容,防止引導損壞。


通過以上步驟,你的 Ubuntu 24 系統將在兩塊硬盤上實現冗余,單塊硬盤故障時仍可正常運行。




?

ChatGPT
?

下面是在 Ubuntu 24.04 LTS 上使用 兩塊硬盤組成 RAID1 作為系統盤 的完整安裝步驟,確保即使一塊硬盤壞掉,系統仍可正常啟動運行。


🧭 總體目標

使用 Ubuntu Server 24.04 安裝器 配置兩塊硬盤為軟件 RAID1,系統數據和引導記錄都鏡像保存,實現一塊硬盤損壞系統照常運行。


📦 準備工作

項目內容
安裝鏡像Ubuntu Server 24.04 ISO(推薦使用 Server 版,支持手動分區和 RAID 配置)
U盤至少 4GB,用于制作啟動盤(可使用 Rufus 或 balenaEtcher)
硬盤至少兩塊空白硬盤(大小一致或相近),如 /dev/sda/dev/sdb
啟動方式建議使用 UEFI(BIOS 也可)


🧰 安裝步驟(基于 Ubuntu Server 24.04 安裝器)

🔥 第 1 步:進入安裝器

  1. 用制作好的 U盤啟動電腦,選擇 Install Ubuntu Server

  2. 選擇語言、鍵盤布局、網絡等設置,進入 "Storage configuration" 階段。


💽 第 2 步:配置 RAID1

? 選擇「Custom storage layout」

進入「Storage configuration」界面:

  1. 選擇「Custom storage layout

  2. 找到兩塊硬盤(如 /dev/sda/dev/sdb),不要使用自動分區。


🧱 第 3 步:為 RAID 創建分區

對兩塊硬盤 手動創建分區,用于 /boot/efi(UEFI 啟動),/boot,和系統根目錄 /

以每塊硬盤為例:

💿 在 /dev/sda/dev/sdb 上分別創建:
分區大小用途類型
sda1/sdb1512MBEFI 系統分區(如果 UEFI 啟動)EFI System Partition
sda2/sdb21GB/boot用于 RAID1
sda3/sdb3剩余所有空間/(系統根目錄)用于 RAID1

創建分區時,在 "Use as" 項中選擇 "RAID" 類型(不是格式化 ext4!


🔗 第 4 步:創建 RAID1 設備

  1. 在底部點擊 "Create software RAID (md)"

  2. 創建兩個 RAID1:

RAID1 - md0 用于 /boot
  • RAID Level: RAID1

  • Devices: /dev/sda2, /dev/sdb2

  • Number of devices: 2

  • Spare devices: 0

RAID1 - md1 用于 /(根目錄)
  • RAID Level: RAID1

  • Devices: /dev/sda3, /dev/sdb3

  • Number of devices: 2

  • Spare devices: 0


📁 第 5 步:掛載 RAID 和設置格式

在分區列表中:

  1. 找到你剛剛創建的 /dev/md0/dev/md1

  2. 分別進行如下設置:

設備掛載點格式用途
/dev/md0/bootext4存放啟動文件
/dev/md1/ext4根目錄,主系統所在
/dev/sda1/dev/sdb1/boot/efiEFI System Partition若使用 UEFI

確保兩個硬盤都創建了 EFI 分區,并都設置掛載到 /boot/efi(安裝器允許這樣做)。


🚀 第 6 步:完成安裝

  1. 確認配置無誤,點擊繼續安裝。

  2. 選擇安裝 GRUB 到兩塊硬盤上(系統會自動檢測到兩個磁盤)。

  3. 安裝 Ubuntu 系統。

  4. 安裝完成后重啟,不要忘記拔掉 U盤


🧪 第 7 步:驗證 RAID 正常工作

進入系統后執行:

cat /proc/mdstat 

你應該看到:

md1 : active raid1 sda3[0] sdb3[1]blocks ... [2/2] [UU]md0 : active raid1 sda2[0] sdb2[1]blocks ... [2/2] [UU]

[UU] 表示兩塊硬盤都在正常同步工作。


🔧 第 8 步:測試單盤啟動(可選)

你可以斷開其中一塊硬盤(如 sdb),再開機測試是否還能進入系統。若一切設置無誤,系統應仍能正常啟動運行。


📬 RAID 狀態監控(可選)

安裝 mdadm 工具以便后續維護:

sudo apt update
sudo apt install mdadm
sudo mdadm --detail /dev/md0
sudo mdadm --detail /dev/md1

? RAID 優勢總結

優點描述
容錯能力強一塊硬盤損壞系統照常運行
數據一致性所有寫入自動鏡像
維護方便可添加/更換損壞硬盤重建 RAID


? 注意事項

  • 不建議把 /boot 放在非 RAID 分區,否則斷盤可能導致無法啟動。

  • 如果用 BIOS 模式安裝,可略過 EFI 分區,使用 /boot 即可。

  • 若使用桌面版 Ubuntu,需預先使用 LiveCD 手動配置 RAID(較為復雜)。
    ?

🎯 目標

生成一套 Ubuntu Server 24.04 自動化安裝配置(Subiquity 自動安裝文件),使用 RAID1 鏡像兩塊硬盤作為系統盤,實現一塊硬盤損壞時仍能正常啟動。


📄 自動安裝文件:raid1-autoinstall.yaml

這個文件可以放在 U 盤或 ISO 中進行 自動安裝,支持 RAID1、UEFI、LVM(可選),適用于 /dev/sda/dev/sdb

#cloud-config
autoinstall:version: 1identity:hostname: ubuntu-serverusername: ubuntupassword: "$6$Xs9ZY3C...hashedpassword..." ?# 這里填你的加密密碼locale: en_USkeyboard:layout: usstorage:layout:name: customswap:size: 0config:- id: disk-sdatype: diskmatch:serial: <sda-serial>wipe: superblock-recursive- id: disk-sdbtype: diskmatch:serial: <sdb-serial>wipe: superblock-recursive# EFI partitions- id: sda-efitype: partitiondevice: disk-sdasize: 512Mflag: boot- id: sdb-efitype: partitiondevice: disk-sdbsize: 512Mflag: boot# /boot RAID partitions- id: sda-boottype: partitiondevice: disk-sdasize: 1024M- id: sdb-boottype: partitiondevice: disk-sdbsize: 1024M# root RAID partitions- id: sda-roottype: partitiondevice: disk-sdasize: -1- id: sdb-roottype: partitiondevice: disk-sdbsize: -1# RAID for /boot- id: raid-boottype: raidname: md0level: 1devices: [sda-boot, sdb-boot]spare-devices: []- id: raid-roottype: raidname: md1level: 1devices: [sda-root, sdb-root]spare-devices: []# File systems- id: fs-efi-sdatype: formatvolume: sda-efifstype: fat32- id: fs-efi-sdbtype: formatvolume: sdb-efifstype: fat32- id: fs-boottype: formatvolume: raid-bootfstype: ext4- id: fs-roottype: formatvolume: raid-rootfstype: ext4# Mounts- id: mount-efi-sdatype: mountpath: /boot/efidevice: fs-efi-sda- id: mount-efi-sdbtype: mountpath: /boot/efidevice: fs-efi-sdb- id: mount-boottype: mountpath: /bootdevice: fs-boot- id: mount-roottype: mountpath: /device: fs-rootgrub:install_devices:- /dev/sda- /dev/sdb

? 替換說明

  1. 獲取硬盤序列號

在 LiveCD 中運行以下命令查看序列號:

lsblk -o NAME,SERIAL 

<sda-serial><sdb-serial> 替換為你硬盤的真實序列號。

  1. 生成密碼哈希

如果不希望密碼明文,使用以下命令生成:

mkpasswd -m sha-512 

輸入你的密碼,會返回一個類似 $6$XXXXXX$... 的字符串,復制替換上面的 password 字段。


🔧 使用方法(制作自動安裝U盤)

  1. 下載 Ubuntu Server 24.04 ISO

  2. 制作啟動 U 盤(用 RufusbalenaEtcher

  3. 在 U盤根目錄或 ISO 鏡像中創建如下結構:

/autoinstall/└── raid1-autoinstall.yaml
  1. 在啟動時按下 EscTab,在引導參數中添加:

autoinstall ds=nocloud\;s=/cdrom/autoinstall/ 

(或指向你 U盤或 ISO 中的路徑)


🧪 模擬測試(推薦用虛擬機驗證)

你可以用 VirtualBox 或 QEMU 啟動該配置,添加兩塊虛擬磁盤進行測試部署。


? 總結

你現在有了一個能:

  • 自動配置兩塊硬盤為 RAID1

  • 自動分區和掛載

  • 安裝 GRUB 到兩個磁盤

  • 安裝 Ubuntu 并啟用自動登錄賬戶

的完整無人值守系統。


如你需要:

  • 自動安裝后運行腳本(比如安裝 Docker、配置 SSH)

  • 配置 LVM + RAID + Swap

  • 桌面版系統 + RAID 安裝

都可以告訴我,我可以繼續為你定制自動安裝方案。是否需要我幫你打包好 ISO 鏡像或生成 LiveCD 模擬環境?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/82319.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/82319.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/82319.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【2025最新】虛擬機安裝macos,VMware在Windows11上安裝macOS 15完整圖文教程 - 新手也能輕松上手

引言 想體驗蘋果系統但不想買Mac電腦&#xff1f;別擔心&#xff01;本教程將手把手教你如何在Windows11環境下&#xff0c;通過VMware虛擬機安裝macOS Sequoia15系統。即使你是零基礎小白&#xff0c;按照這個步驟操作&#xff0c;也能輕松搞定&#xff01; 準備工作 在開始…

論文閱讀筆記——Emerging Properties in Unified Multimodal Pretraining

BAGEL 論文 商業閉源系統與學術/開源模型的差距很大&#xff0c;BAGEL 旨在通過開源統一架構大規模交錯數據主要解決&#xff1a; 架構割裂&#xff1a;理解/生成分屬兩條網絡&#xff0c;信息被壓縮在少量條件 token 中&#xff0c;長上下文推理受限。數據貧乏&#xff1a;主…

Go 語言基礎1 Slice,map,string

更多個人筆記見&#xff1a; github個人筆記倉庫 gitee 個人筆記倉庫 個人學習&#xff0c;學習過程中還會不斷補充&#xff5e; &#xff08;后續會更新在github上&#xff09; 文章目錄 stirng 字符串區分 rune&#xff0c;byte&#xff0c;string字符串操作strings 庫相關 f…

C# AI(Trae工具+claude3.5-sonnet) 寫前后端

這是一個AI 寫的前后端分離項目,通過AI編程&#xff0c;開發電商管理系統&#xff08;登陸、注冊&#xff09; 使用的AI工具為 Trae工具(字節國際版)claude3.5-sonnet(目前代碼最強模型) 前端為 vue3Bootstrap 后端為 C# net5.0(因為我電腦里面已經安裝了這個新版更好) do…

10G/25G PCS only mode for CoaXPress Over Fiber

背景 在CoaXPress Over Fiber的需求中, 需要利用XGMII的PCS 實現25G 數據速率的穩定傳輸&#xff0c;也就是不需要其MAC層&#xff0c;只保留PMA PCS層&#xff0c;借用其物理端口 線纜&#xff0c;實現其它協議的數據傳輸。 25G PCS 25GMII 的 TX/RX 時鐘頻率在 DDR&#xff…

掌握聚合函數:COUNT,MAX,MIN,SUM,AVG,GROUP BY和HAVING子句的用法,Where和HAVING的區別

對于Java后端開發來說&#xff0c;必須要掌握常用的聚合函數&#xff1a;COUNT&#xff0c;MAX&#xff0c;MIN&#xff0c;SUM&#xff0c;AVG&#xff0c;掌握GROUP BY和HAVING子句的用法&#xff0c;掌握Where和HAVING的區別&#xff1a; ? 一、常用聚合函數&#xff08;聚…

無人機飛行間隔安全智能評估、安全風險評估

無人機空中安全飛行評估需結合改進碰撞模型、蒙特卡洛仿真、安全間隔反推及動態避障策略&#xff0c;通過多機型分類與實時數據融合&#xff0c;實現從理論建模到實際部署的全流程管控&#xff0c;為城市低空密集飛行提供安全保障。 需求 無人機飛行間隔安全智能評估 無人機…

pdf圖片導出(Visio和Origin)

一、Visio 導入pdf格式圖片 1. 設計->大小&#xff0c;適應繪圖。 2. 文件->導出&#xff0c;導出為pdf格式。 上面兩部即可得到只包含圖的部分的pdf格式。 如果出現的有默認白邊&#xff0c;可以通過以下方式設置&#xff1a; 1. 文件->選項->自定義功能區->…

實現一個帶有授權碼和使用時間限制的Spring Boot項目

生成和驗證授權碼記錄授權時間和過期時間實現授權邏輯 以下是具體的實現方法&#xff1a; 1. 生成和驗證授權碼 可以使用加密技術生成和驗證授權碼。授權碼中可以包含有效期等信息&#xff0c;并使用密鑰進行簽名。 示例代碼&#xff1a; java復制代碼 import javax.crypt…

官方SDK停更后的選擇:開源維護的Bugly Unity SDK

騰訊Bugly&#xff0c;為移動開發者提供專業的異常上報和運營統計&#xff0c;幫助開發者快速發現并解決異常&#xff0c;同時掌握產品運營動態&#xff0c;及時跟進用戶反饋。 但是&#xff0c;免費版的Unity SDK已經很久不更新了&#xff0c;會有一些問題和特性缺失&#xff…

Spring Boot分頁查詢進階:整合Spring Data REST實現高效數據導航

目錄&#xff1a; 引言分頁查詢基礎回顧 2.1 Spring Data JPA分頁接口 2.2 Pageable與Page的使用 2.3 常見分頁參數設計Spring Data REST簡介 3.1 HATEOAS與超媒體驅動API 3.2 Spring Data REST核心功能 3.3 自動暴露Repository接口整合Spring Boot與Spring Data REST 4.1 項目…

[Datagear] [SQL]實現分組統計同時帶匯總行的兩種方式對比分析

在進行數據可視化開發時,我們經常會遇到用戶提出的需求:除了展示按某字段分組統計的數據外,還希望看到一個“整體總計”的數據行。這種匯總行在報表、圖表展示中極為常見,可以幫助用戶快速理解全局數據水平。 實現這一功能的方法主要有兩種:一種是使用 SQL 的 GROUP BY ..…

Docker常用命令介紹

Docker常用命令 1、本地鏡像管理 save 命令 將一個或多個 Docker 鏡像保存到一個 tar 歸檔文件中&#xff0c;以便在其他環境中分發或備份。 # 語法&#xff1a;docker save [OPTIONS] IMAGE [IMAGE...]# 保存單個鏡像到文件 docker save -o myimage.tar myimage:latest# 保…

09 接口自動化-用例管理框架pytest之allure報告定制以及數據驅動

文章目錄 一、企業級的Allure報告的定制左邊的定制&#xff1a;右邊的定制&#xff1a;1.用例的嚴重程度/優先級2.用例描述3.測試用例連接的定制4.測試用例步驟的定制5.附件的定制 二、企業中真實的定制有哪些&#xff1f;三、allure報告如何在本地訪問四、allure中的數據驅動裝…

DDoS防護實戰——從基礎配置到高防IP部署

一、基礎防護&#xff1a;服務器與網絡層加固 Linux內核優化&#xff1a; 調整TCP協議棧參數&#xff0c;緩解SYN Flood攻擊&#xff1a; # 啟用SYN Cookie并減少超時時間 echo 1 > /proc/sys/net/ipv4/tcp_syncookies echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout…

華為云Flexus+DeepSeek征文|Flexus云服務器Dify-LLM資源部署極致體驗Agent

前引&#xff1a;重磅來襲&#xff01;本次以DeepSeek-V3/R1商用大模型和Dify-LLM應用平臺一鍵部署為核心&#xff0c;專為新手打造“開箱即用”的AI開發體驗。無論你是想快速搭建企業級AI應用&#xff0c;還是探索大模型落地的無限可能&#xff0c;只需跟隨小編實現三步走&…

SQLAlchemy 2.0 查詢使用指南

SQLAlchemy 2.0 查詢使用指南 1. 環境設置 首先&#xff0c;需要安裝 SQLAlchemy 2.0 版本。假設你使用的是 SQLite 數據庫&#xff0c;可以通過以下命令安裝 SQLAlchemy&#xff1a; pip install sqlalchemy接著&#xff0c;我們創建數據庫連接并初始化會話&#xff1a; f…

Windows 使用 WSL 安裝 Ubuntu

一&#xff0c;前言 Windows 上輕松跑 Linux 又不想用笨重的VMware 和VirtualBox &#xff0c;怎么辦&#xff1f; 開源項目 Windows Subsystem for Linux (WSL)。它解決了許多開發者在 Windows 和 Linux 間切換的痛點&#xff0c;實現在 Windows 上無縫跑 Linux 工具和命令。…

[Excel VBA]如何製作買三送一優惠條件的POS結帳介面?

Excel I VBA I 買三送一優惠條件的POS結帳機 因應商品特賣活動&#xff0c;結帳介面需整合特定優惠條件&#xff0c;如買三送一&#xff0c;買五送二等等優惠條件。本文封面影片以買三送一為範例&#xff0c;並搭配VBA和對應按鈕&#xff0c;而實現銷售訂單紀錄和即時更新庫存等…

3d世界坐標系轉屏幕坐標系

世界坐標 ——> NDC標準設備坐標 ——> 屏幕坐標 標準設備NDC坐標系 屏幕坐標系 .project方法將 將向量(坐標)從世界空間投影到相機的標準化設備坐標 (NDC) 空間。 手動實現HTML元素定位到模型位置&#xff0c;實現模型標簽效果&#xff08;和css2Render原理同理&#…