1
1
#! /bin/bash
2
2
# confirm提示,防止误操作
3
+ dataDir={{ chunkserver_data_dir }}
3
4
function do_confirm {
4
5
echo " This deployment script will format the disk and delete all the data."
5
6
echo " Please confirm that you want to do this action!"
@@ -19,7 +20,7 @@ function deploy_prep {
19
20
if [ $? -eq 0 ]
20
21
then
21
22
sed -i ' /curvefs/d' /etc/fstab
22
- sed -i ' /\/data\/ chunkserver/d' /etc/fstab
23
+ sed -i ' /chunkserver/d' /etc/fstab
23
24
fi
24
25
# 通过lsscsi的输出过滤出curve使用的数据盘,将数据盘挂载的目录都卸载掉,为下一步格式化磁盘做准备
25
26
for i in ` lsscsi | grep ATA| awk ' {print $7}' | awk -F" /" ' {print $3}' `
@@ -41,7 +42,6 @@ function deploy_prep {
41
42
}
42
43
{% raw %}
43
44
# 记录磁盘的盘符信息和磁盘的wwn信息,将信息持久化到diskinfo文件
44
- DATA_DIR=/data
45
45
declare -A disk_map
46
46
diskinfo=./diskinfo
47
47
function record_diskinfo {
@@ -61,23 +61,23 @@ function record_diskinfo {
61
61
done
62
62
}
63
63
64
- # 根据磁盘数量创建数据目录和日志目录,目前的数据目录格式统一是/data/ chunkserver+num,日志目录在/data /log/chunkserver+num
64
+ # 根据磁盘数量创建数据目录和日志目录,目前的数据目录格式统一是$dataDir/ chunkserver+num,日志目录在$dataDir /log/chunkserver+num
65
65
function chunk_dir_prep {
66
- if [ -d ${DATA_DIR } ]
66
+ if [ -d ${dataDir } ]
67
67
then
68
- rm -rf ${DATA_DIR}
68
+ rm -rf ${dataDir} /chunkserver *
69
69
if [ $? -ne 0 ]
70
70
then
71
- echo " rm $DATA_DIR failed"
71
+ echo " rm $dataDir failed"
72
72
exit
73
73
fi
74
74
fi
75
- mkdir -p ${DATA_DIR }
75
+ mkdir -p ${dataDir }
76
76
echo $(( ${# disk_map[@]} - 1 ))
77
77
for i in ` seq 0 $(( ${# disk_map[@]} - 1 )) `
78
78
do
79
- mkdir -p ${DATA_DIR } /chunkserver$i
80
- mkdir -p ${DATA_DIR } /log/chunkserver$i
79
+ mkdir -p ${dataDir } /chunkserver$i
80
+ mkdir -p ${dataDir } /log/chunkserver$i
81
81
done
82
82
}
83
83
{% endraw %}
@@ -107,7 +107,7 @@ function mount_dir {
107
107
j=0
108
108
for i in ` cat $diskinfo | awk ' {print $1}' | awk -F" :" ' {print $2}' `
109
109
do
110
- mount /dev/$i $DATA_DIR /chunkserver$j
110
+ mount /dev/$i $dataDir /chunkserver$j
111
111
if [ $? -ne 0 ]
112
112
then
113
113
echo " mount $i failed"
@@ -137,7 +137,7 @@ function meta_record {
137
137
grep curvefs /etc/fstab
138
138
if [ $? -eq 0 ]
139
139
then
140
- for i in ` cat /etc/fstab | grep " /data /chunkserver" | awk ' {print $1 $2}' | awk -F ' =' ' {print $2}' `
140
+ for i in ` cat /etc/fstab | grep " $dataDir /chunkserver" | awk ' {print $1 $2}' | awk -F ' =' ' {print $2}' `
141
141
do
142
142
uuid=` echo $i | awk -F / ' {print $1}' `
143
143
uuidmd5=` echo -n $uuid | md5sum | cut -d ' ' -f1`
@@ -155,9 +155,9 @@ ret=`lsblk|grep chunkserver|wc -l`
155
155
for i in ` seq 0 $(( ${ret} - 1 )) `
156
156
do
157
157
curve-format -allocatepercent={{ chunk_alloc_percent }} \
158
- -chunkfilepool_dir=/data /chunkserver$i /chunkfilepool \
159
- -chunkfilepool_metapath=/data /chunkserver$i /chunkfilepool.meta \
160
- -filesystem_path=/data /chunkserver$i /chunkfilepool &
158
+ -chunkfilepool_dir=$dataDir /chunkserver$i /chunkfilepool \
159
+ -chunkfilepool_metapath=$dataDir /chunkserver$i /chunkfilepool.meta \
160
+ -filesystem_path=$dataDir /chunkserver$i /chunkfilepool &
161
161
done
162
162
wait
163
163
}
@@ -168,7 +168,7 @@ function usage {
168
168
echo " or deploy one disk by setting the diskname"
169
169
echo " Example:"
170
170
echo " ./chunkserver_deploy2.sh all"
171
- echo " ./chunkserver_deploy2.sh /dev/sd{id} /data /chunkserver{id}"
171
+ echo " ./chunkserver_deploy2.sh /dev/sd{id} $dataDir /chunkserver{id}"
172
172
exit
173
173
}
174
174
0 commit comments