1. 程式人生 > >Azure Linux 虛機上配置 RAID 的常見問題及解決方案

Azure Linux 虛機上配置 RAID 的常見問題及解決方案

簡介

獨立硬碟冗餘陣列(RAID, Redundant Array of Independent Disks),簡稱磁碟陣列。能增強資料整合度,增強容錯功能,增加處理量或容量。詳情參見這篇文章

配置方法

Note

以下範例均在 CentOS 平臺執行,其他版本 Linux 略有差異, 請注意區別。

  1. 在 Azure 平臺的 Linux 虛擬機器上新增至少 2 塊空磁碟。
  2. 以管理員身份登入 Linux 虛機並切換至 root 使用者。
  3. 安裝 mdadm 工具。

    # yum install mdadm
    
  4. 檢視磁碟及分割槽。

    # fdisk  -l |grep -i "Disk /dev/"
    Disk /dev/sdb: 145.0 GB, 144955146240 bytes
    Disk /dev/sda: 32.2 GB, 32212254720 bytes
    Disk /dev/sdc: 1073 MB, 1073741824 bytes
    Disk /dev/sdd: 1073 MB, 1073741824 bytes
    
  5. 建立 RAID。

    # mdadm --create /dev/md0 --level 0 --raid-devices 2 /dev/sdc /dev/sdd
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md0 started.
    
  6. 基於 RAID, 建立檔案系統。

    # mkfs.ext4 /dev/md0
    
  7. 新增新檔案系統到 /etc/fstab。

    # mkdir /data
    # blkid  |grep -i md0
    /dev/md0: UUID="21424152-440e-42f5-b8fc-07ded5a0bea4" TYPE="ext4"
    # echo "UUID=21424152-440e-42f5-b8fc-07ded5a0bea4 /data ext4 defaults 0 2 " >> /etc/fstab
    # mount -a
    # df -h |grep -i data
    /dev/md0        2.0G   35M  1.9G   2% /data
    

常見問題及解決

  1. 問題:是否可以把臨時盤(預設 /dev/sdb) 加入 RAID 中?

    :不可以, 因為臨時盤每次重啟都會清空資料。

  2. 問題:系統預設會啟用 RAID 的每週自檢,如何調整執行時間或者關閉自檢?

    :編輯定時任務指令碼 /etc/cron.d/raid-check, 修改執行時間。預設如下:

    # cat /etc/cron.d/raid-check
    # Run system wide raid-check once a week on Sunday at 1am by default
    0 1 * * Sun root /usr/sbin/raid-check
    

    編輯自檢指令碼 /etc/sysconfig/raid-check 將 ENABLED=yes 行改成 ENABLED=no 來關閉自檢。                                                       立即訪問http://market.azure.cn