Linux
重啟後RAID10陣列失去|亞馬遜 Linux
我仔細按照以下程序在 Amazon Linux 上設置 RAID10:
我還將MongoDB 升級到 3.2並按照以下程序停用 THP:https ://docs.mongodb.org/manual/tutorial/transparent-huge-pages/
然後我更新了安全包並重新啟動了實例……當我重新進入時,RAID 陣列不見了!
我試圖重新設置它(我失去了數據,不得不重新設置),重新啟動後,又消失了……
正如其他文章中所指出的,我檢查了mdadm.conf中是否正確指定了數組。我在其他文章中找不到任何可行的解決方案。希望我在這裡提供的細節會給你一些新的想法……!
這是遵循的程序:
- 創建實例:Amazon Linux HVM SSD 64 位。
在實例啟動設置中,您可以選擇卷。預設情況下有一個 Root 卷 (/dev/xvda)。添加 4 個額外的 EBS 卷作為 /dev/sdf、/dev/sdg、/dev/sdh 和 /dev/sdi。取消選中所有捲的終止時刪除並選中 4 個額外卷上的加密。
2)實施RAID10
sudo mdadm --verbose --create /dev/md0 --level=10 --chunk=256 --raid-devices=4 /dev/sdf /dev/sdg /dev/sdh /dev/sdi echo 'DEVICE /dev/sdf /dev/sdg /dev/sdh /dev/sdi' | sudo tee -a /etc/mdadm.conf sudo mdadm --detail --scan | sudo tee -a /etc/mdadm.conf
設置預讀以獲得更好的性能
sudo blockdev --setra 128 /dev/md0 sudo blockdev --setra 128 /dev/sdf sudo blockdev --setra 128 /dev/sdg sudo blockdev --setra 128 /dev/sdh sudo blockdev --setra 128 /dev/sdi
為數據、日誌和日誌創建邏輯卷
sudo dd if=/dev/zero of=/dev/md0 bs=512 count=1 sudo pvcreate /dev/md0 sudo vgcreate vg0 /dev/md0 sudo lvcreate -l 54%vg -n data vg0 sudo lvcreate -l 23%vg -n log vg0 sudo lvcreate -l 23%vg -n journal vg0
為每個邏輯卷創建文件系統
sudo mke2fs -t ext4 -F /dev/vg0/data sudo mke2fs -t ext4 -F /dev/vg0/log sudo mke2fs -t ext4 -F /dev/vg0/journal sudo mkdir /data sudo mkdir /log sudo mkdir /journal echo '/dev/vg0/data /data ext4 defaults,auto,noatime,noexec 0 0' | sudo tee -a /etc/fstab echo '/dev/vg0/log /log ext4 defaults,auto,noatime,noexec 0 0' | sudo tee -a /etc/fstab echo '/dev/vg0/journal /journal ext4 defaults,auto,noatime,noexec 0 0' | sudo tee -a /etc/fstab
掛載儲存設備
sudo mount /data sudo mount /log sudo mount /journal
為 db 創建符號連結
sudo ln -s /journal /data/journal
- 安裝 MongoDB
echo "[10gen] name=10gen Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 gpgcheck=0" | sudo tee -a /etc/yum.repos.d/10gen.repo sudo yum -y install mongo-10gen-server
更改所有者
sudo chown mongod:mongod /data sudo chown mongod:mongod /log sudo chown mongod:mongod /journal
後來,我這樣做了:
- 更新包
sudo yum update
5)升級MongoDB:從解除安裝舊版本開始
sudo yum remove mongo-10gen-server sudo rm /etc/yum.repos.d/10gen.repo
安裝新版本
sudo rpm --import https://mongodb.org/static/pgp/server-3.2.asc echo "[mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.2/x86_64/ gpgcheck=1 enabled=1" | sudo tee -a /etc/yum.repos.d/mongodb-org-3.2.repo sudo yum install -y mongodb-org
更改所有者
sudo chown mongod:mongod /data sudo chown mongod:mongod /log sudo chown mongod:mongod /journal
- 禁用 THP(新數據庫顯示警告)
sudo nano /etc/init.d/disable-transparent-hugepages
複製以下內容:
#!/bin/sh ### BEGIN INIT INFO # Provides: disable-transparent-hugepages # Required-Start: $local_fs # Required-Stop: # X-Start-Before: mongod mongodb-mms-automation-agent # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Disable Linux transparent huge pages # Description: Disable Linux transparent huge pages, to improve # database performance. ### END INIT INFO case $1 in start) if [ -d /sys/kernel/mm/transparent_hugepage ]; then thp_path=/sys/kernel/mm/transparent_hugepage elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then thp_path=/sys/kernel/mm/redhat_transparent_hugepage else return 0 fi echo 'never' > ${thp_path}/enabled echo 'never' > ${thp_path}/defrag unset thp_path ;; esac
最後,申請並重啟
sudo chmod 755 /etc/init.d/disable-transparent-hugepages sudo chkconfig --add disable-transparent-hugepages sudo shutdown -r now
似乎mdadm在引導過程中執行得太早(元素不可用)。
這是我檢索數組的方式
重新組裝陣列:
sudo mdadm --assemble --scan --verbose
啟動虛擬組:
sudo vgchange -ay
山:
sudo mount /data sudo mount /log sudo mount /journal