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