2012-01-03 4 views
5

मैं mdadm का उपयोग कर m1.large EC2 उदाहरणों पर दो क्षणिक स्टोरेज डिवाइसों के स्ट्रिपिंग को स्क्रिप्ट करना चाहता हूं (स्पष्ट रूप से अमीस हमेशा डिवाइस की जानकारी शामिल नहीं करता है, इसलिए मैं ' एक बार सरणी शुरू होने के बाद बस एक नई एमी बनाएं)।स्क्रिप्टिंग mdadm जब किसी घटक डिवाइस में पहले से ही ext2 फ़ाइल सिस्टम हो सकता है

समस्या यह है, EC2 उदाहरणों पर अल्पकालिक भंडारण आम तौर पर, एक फाइल सिस्टम के साथ preformatted आता है कहने के लिए mdadm के कारण:

mdadm: /dev/sdb appears to contain an ext2fs file system 
    size=440366080K mtime=Mon Jan 2 20:32:06 2012 
mdadm: /dev/sdc appears to contain an ext2fs file system 
    size=440366080K mtime=Wed Dec 31 19:00:00 1969 
Continue creating array? 

और इनपुट के लिए प्रतीक्षा करें। मुझे यकीन है कि गैर इंटरैक्टिव स्थितियों (उदाहरण के लिए fsck -y में) के लिए mdadm में इन प्रकार के संकेतों के लिए हाँ का उत्तर देने का एक तरीका है, लेकिन मुझे इसे समझना प्रतीत नहीं होता है (यह नहीं है - बल)। मुझे पता है कि मैं सिर्फ डीडी का उपयोग कर उपकरणों को शून्य कर सकता हूं लेकिन ऐसा लगता है कि मुझे कुछ ऐसा करने के लिए स्लेजगेमर-आई समाधान लगता है।

उत्तर

7

क्या आपने मानक यूनिक्स/लिनक्स "हाँ" कमांड के आउटपुट में पाइपिंग करने का प्रयास किया है?

yes | sudo mdadm ...options and arguments... 

इसका उपयोग तभी करें यदि आप जानते हैं कि आप के लिए किसी भी सवाल mdadm आप पूछ सकते हैं जवाब देने के लिए "हाँ" चाहते हैं।

यह दृष्टिकोण मैं अपने नमूना mdadm में इस्तेमाल RAID -0 EBS मात्रा का उपयोग करते हुए एक 40 टीबी फाइल सिस्टम स्थापित करने के लिए आदेश है: http://alestic.com/2009/06/ec2-ebs-raid

+1

धन्यवाद: यहाँ एक सरलीकृत संस्करण (यह मानते हुए यह m1.large है) है। मुझे बिल्कुल यकीन नहीं है कि यह क्यों बंद था क्योंकि बैश स्क्रिप्टिंग निश्चित रूप से प्रोग्रामिंग है। भले ही यह आमतौर पर सिस्टम प्रशासन से अधिक संबंधित हो। लेकिन आपके उत्तर के लिए धन्यवाद। –

+6

या बस पास करें- आरआर या आरडी mdadm करने के लिए। – Hannes

+0

हेंस की टिप्पणी के लिए +1। मैन पेज के मुताबिक: -R, --run जोर दें कि mdadm सरणी चलाएं, भले ही कुछ घटक सक्रिय हो जाएं किसी अन्य सरणी या फाइल सिस्टम में। आम तौर पर एमडीएडीएम से पहले एक सरणी में ऐसे घटकों सहित पुष्टि के लिए पूछेगा। यह विकल्प उस प्रश्न को सुपर - दबाए जाने का कारण बनता है। –

2

मैं एक m1.large और m1.xlarge उदाहरणों में से स्टार्ट-अप पर एक स्क्रिप्ट चलाने कि डिस्क-स्ट्रिपिंग (RAID-0) करता है। बस पाइप

echo "Unmounting /mnt..." 
/bin/umount /mnt 

echo "Creating RAID0 volume..." 
/usr/bin/yes|/sbin/mdadm --create /dev/md0 --level=0 -c256 --raid-devices=2 /dev/sdb /dev/sdc 
echo 'DEVICE /dev/sdb /dev/sdc' > /etc/mdadm.conf 
/sbin/mdadm --detail --scan >> /etc/mdadm.conf 

echo "Creating file-system..." 
/sbin/blockdev --setra 65536 /dev/md0 
mkfs.xfs -f /dev/md0 

echo "Mounting the device /dev/md0 to /mnt..." 
/bin/mount -t xfs -o noatime /dev/md0 /mnt 

echo "Registering in fstab.." 
/bin/mv /etc/fstab /etc/fstab.orig 
/bin/sed '/\/mnt/ c /dev/md0 /mnt xfs defaults 0 0' </etc/fstab.orig> /etc/fstab 

आपके प्रश्न का उत्तर करने के लिए, पहले ही उल्लेख किया है, तो आप कर सकते हैं yes

संबंधित मुद्दे