1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | #/usr/bin/env python import os,sys,time,re,traceback class ceph_depoloy(object): def __init__(self): version = 1.0 #Log insert def LOG(self,info): logfile = '/tmp/ceph-deploy.log' files = open(logfile, 'a' ) try: files.write( '%s : %s' %(time.ctime(),info)) except IOError: files.close() files.close() #Disk format /dev/sd* def diskFormat(self,disk,count): try: key = os.popen( "fdisk %s" %disk, "w" ) key.write( 'd \n' ) key.write( 'n \n' ) key.write( 'p \n' ) key.write( '1 \n' ) key.write( '\n \n' ) key.write( '\n \n' ) key.write( 'w' ) key.flush() time.sleep(1) os.system( """mkdir -p /data%s"" " %count) os.system("" "mkfs.xfs -f -i size=1024 %s1 "" " %disk) print "" "mkfs.xfs -f -i size=1024 %s1 "" " %disk time.sleep(3) fp = open('/etc/fstab','r') for i in fp: if not re.search('sdb',i): cmds = "" "%s1 /data1 xfs defaults 0 0 "" " %disk os.system(" echo %s >> /etc/fstab " %cmds) break self.LOG(" Disk %s format partion " %disk ) except: self.LOG(traceback.format_exc()) #Get disk tag def disk_tag(self): disk_tags = list() disk_part = list() for ch in xrange(0x42, 0x5B): disk_tags.append(" sd % s " %unichr(ch).lower()) disk_part.append(" /dev/sd % s1 " %unichr(ch).lower()) return disk_tags def work(self): disks = list() disk_tags = self.disk_tag() devs = os.listdir('/dev/') count = 0 for d in disk_tags: if d in devs: count += 1 disk = '/dev/%s' %d self.diskFormat(disk.strip(),count) if __name__ == " __main__": sc = ceph_depoloy() sc.work() |
本文转自 swq499809608 51CTO博客,原文链接:http://blog.51cto.com/swq499809608/1718984