您的位置:首页 > 运维架构 > Linux

python 实现 Centos 7.1 下系统自动分区并mount到/data*

2015-12-02 18:02 651 查看
#/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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  disk part xfs centos7