shared_lvm.patch
opennebula-3.5.80-shared_lvm/install.sh 2012-07-09 08:37:41.339406750 +0200 | ||
---|---|---|
226 | 226 |
$VAR_LOCATION/remotes/tm/ \ |
227 | 227 |
$VAR_LOCATION/remotes/tm/dummy \ |
228 | 228 |
$VAR_LOCATION/remotes/tm/shared \ |
229 |
$VAR_LOCATION/remotes/tm/shared_lvm \ |
|
229 | 230 |
$VAR_LOCATION/remotes/tm/qcow2 \ |
230 | 231 |
$VAR_LOCATION/remotes/tm/ssh \ |
231 | 232 |
$VAR_LOCATION/remotes/tm/vmware \ |
... | ... | |
239 | 240 |
$VAR_LOCATION/remotes/datastore/vmware \ |
240 | 241 |
$VAR_LOCATION/remotes/datastore/iscsi \ |
241 | 242 |
$VAR_LOCATION/remotes/datastore/lvm \ |
243 |
$VAR_LOCATION/remotes/datastore/shared_lvm \ |
|
242 | 244 |
$VAR_LOCATION/remotes/auth \ |
243 | 245 |
$VAR_LOCATION/remotes/auth/plain \ |
244 | 246 |
$VAR_LOCATION/remotes/auth/ssh \ |
... | ... | |
401 | 403 |
VMM_EXEC_VMWARE_SCRIPTS:$VAR_LOCATION/remotes/vmm/vmware |
402 | 404 |
TM_FILES:$VAR_LOCATION/remotes/tm |
403 | 405 |
TM_SHARED_FILES:$VAR_LOCATION/remotes/tm/shared |
406 |
TM_SHARED_LVM_FILES:$VAR_LOCATION/remotes/tm/shared_lvm |
|
404 | 407 |
TM_QCOW2_FILES:$VAR_LOCATION/remotes/tm/qcow2 |
405 | 408 |
TM_SSH_FILES:$VAR_LOCATION/remotes/tm/ssh |
406 | 409 |
TM_VMWARE_FILES:$VAR_LOCATION/remotes/tm/vmware |
... | ... | |
413 | 416 |
DATASTORE_DRIVER_VMWARE_SCRIPTS:$VAR_LOCATION/remotes/datastore/vmware |
414 | 417 |
DATASTORE_DRIVER_ISCSI_SCRIPTS:$VAR_LOCATION/remotes/datastore/iscsi |
415 | 418 |
DATASTORE_DRIVER_LVM_SCRIPTS:$VAR_LOCATION/remotes/datastore/lvm |
419 |
DATASTORE_DRIVER_SHARED_LVM_SCRIPTS:$VAR_LOCATION/remotes/datastore/shared_lvm |
|
416 | 420 |
NETWORK_FILES:$VAR_LOCATION/remotes/vnm |
417 | 421 |
NETWORK_8021Q_FILES:$VAR_LOCATION/remotes/vnm/802.1Q |
418 | 422 |
NETWORK_DUMMY_FILES:$VAR_LOCATION/remotes/vnm/dummy |
... | ... | |
803 | 807 |
# - DUMMY TM, $VAR_LOCATION/tm/dummy |
804 | 808 |
# - VMWARE TM, $VAR_LOCATION/tm/vmware |
805 | 809 |
# - ISCSI TM, $VAR_LOCATION/tm/iscsi |
810 |
# - SHARED_LVM TM, $VAR_LOCATION/tm/shared_lvm |
|
806 | 811 |
# - LVM TM, $VAR_LOCATION/tm/lvm |
807 | 812 |
#------------------------------------------------------------------------------- |
808 | 813 | |
... | ... | |
865 | 870 |
src/tm_mad/lvm/mvds \ |
866 | 871 |
src/tm_mad/lvm/delete" |
867 | 872 | |
873 |
TM_SHARED_LVM_FILES="src/tm_mad/shared_lvm/clone \ |
|
874 |
src/tm_mad/shared_lvm/ln \ |
|
875 |
src/tm_mad/shared_lvm/mv \ |
|
876 |
src/tm_mad/shared_lvm/mvds \ |
|
877 |
src/tm_mad/shared_lvm/delete" |
|
868 | 878 |
#------------------------------------------------------------------------------- |
869 | 879 |
# Datastore drivers, to be installed under $REMOTES_LOCATION/datastore |
870 | 880 |
# - Dummy Image Repository, $REMOTES_LOCATION/datastore/dummy |
... | ... | |
902 | 912 |
src/datastore_mad/remotes/iscsi/clone \ |
903 | 913 |
src/datastore_mad/remotes/iscsi/iscsi.conf" |
904 | 914 | |
915 |
DATASTORE_DRIVER_SHARED_LVM_SCRIPTS="src/datastore_mad/remotes/shared_lvm/cp \ |
|
916 |
src/datastore_mad/remotes/shared_lvm/mkfs \ |
|
917 |
src/datastore_mad/remotes/shared_lvm/stat \ |
|
918 |
src/datastore_mad/remotes/shared_lvm/rm \ |
|
919 |
src/datastore_mad/remotes/shared_lvm/clone \ |
|
920 |
src/datastore_mad/remotes/shared_lvm/shared_lvm.conf" |
|
921 | ||
905 | 922 |
DATASTORE_DRIVER_LVM_SCRIPTS="src/datastore_mad/remotes/lvm/cp \ |
906 | 923 |
src/datastore_mad/remotes/lvm/mkfs \ |
907 | 924 |
src/datastore_mad/remotes/lvm/stat \ |
opennebula-3.5.80-shared_lvm/share/etc/oned.conf 2012-07-09 08:21:31.155406751 +0200 | ||
---|---|---|
286 | 286 | |
287 | 287 |
TM_MAD = [ |
288 | 288 |
executable = "one_tm", |
289 |
arguments = "-t 15 -d dummy,lvm,shared,qcow2,ssh,vmware,iscsi" ] |
|
289 |
arguments = "-t 15 -d dummy,lvm,shared,qcow2,ssh,vmware,iscsi,shared_lvm" ]
|
|
290 | 290 | |
291 | 291 |
#******************************************************************************* |
292 | 292 |
# Datastore Driver Configuration |
... | ... | |
303 | 303 | |
304 | 304 |
DATASTORE_MAD = [ |
305 | 305 |
executable = "one_datastore", |
306 |
arguments = "-t 15 -d fs,vmware,iscsi,lvm" |
|
306 |
arguments = "-t 15 -d fs,vmware,iscsi,lvm,shared_lvm"
|
|
307 | 307 |
] |
308 | 308 | |
309 | 309 |
#******************************************************************************* |
opennebula-3.5.80-shared_lvm/src/datastore_mad/remotes/shared_lvm/clone 2012-07-09 08:17:28.543406751 +0200 | ||
---|---|---|
1 |
#!/bin/bash |
|
2 | ||
3 |
# -------------------------------------------------------------------------- # |
|
4 |
# Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org) # |
|
5 |
# # |
|
6 |
# Licensed under the Apache License, Version 2.0 (the "License"); you may # |
|
7 |
# not use this file except in compliance with the License. You may obtain # |
|
8 |
# a copy of the License at # |
|
9 |
# # |
|
10 |
# http://www.apache.org/licenses/LICENSE-2.0 # |
|
11 |
# # |
|
12 |
# Unless required by applicable law or agreed to in writing, software # |
|
13 |
# distributed under the License is distributed on an "AS IS" BASIS, # |
|
14 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # |
|
15 |
# See the License for the specific language governing permissions and # |
|
16 |
# limitations under the License. # |
|
17 |
#--------------------------------------------------------------------------- # |
|
18 | ||
19 |
############################################################################### |
|
20 |
# This script is used to copy a VM image (SRC) to the image repository as DST |
|
21 |
# Several SRC types are supported |
|
22 |
############################################################################### |
|
23 |
# -------- Set up the environment to source common tools & conf ------------ |
|
24 |
if [ -z "${ONE_LOCATION}" ]; then |
|
25 |
LIB_LOCATION=/usr/lib/one |
|
26 |
else |
|
27 |
LIB_LOCATION=$ONE_LOCATION/lib |
|
28 |
fi |
|
29 | ||
30 |
. $LIB_LOCATION/sh/scripts_common.sh |
|
31 | ||
32 |
DRIVER_PATH=$(dirname $0) |
|
33 |
source ${DRIVER_PATH}/../libfs.sh |
|
34 |
source ${DRIVER_PATH}/shared_lvm.conf |
|
35 | ||
36 |
# -------- Get cp and datastore arguments from OpenNebula core ------------ |
|
37 | ||
38 |
DRV_ACTION=$1 |
|
39 |
ID=$2 |
|
40 | ||
41 |
XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION" |
|
42 | ||
43 |
unset i XPATH_ELEMENTS |
|
44 | ||
45 |
while IFS= read -r -d '' element; do |
|
46 |
XPATH_ELEMENTS[i++]="$element" |
|
47 |
done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/BASE_PATH \ |
|
48 |
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/RESTRICTED_DIRS \ |
|
49 |
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/SAFE_DIRS \ |
|
50 |
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/UMASK \ |
|
51 |
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/VG_NAME \ |
|
52 |
/DS_DRIVER_ACTION_DATA/IMAGE/PATH \ |
|
53 |
/DS_DRIVER_ACTION_DATA/IMAGE/SIZE) |
|
54 | ||
55 |
BASE_PATH="${XPATH_ELEMENTS[0]}" |
|
56 |
RESTRICTED_DIRS="${XPATH_ELEMENTS[1]}" |
|
57 |
SAFE_DIRS="${XPATH_ELEMENTS[2]}" |
|
58 |
UMASK="${XPATH_ELEMENTS[3]}" |
|
59 |
VG_NAME="${XPATH_ELEMENTS[4]:-$VG_NAME}" |
|
60 |
SRC="${XPATH_ELEMENTS[5]}" |
|
61 |
SIZE="${XPATH_ELEMENTS[6]}" |
|
62 | ||
63 |
set_up_datastore "$BASE_PATH" "$RESTRICTED_DIRS" "$SAFE_DIRS" "$UMASK" |
|
64 | ||
65 |
LV_NAME="lv-one-${ID}" |
|
66 |
DEV="/dev/$VG_NAME/$LV_NAME" |
|
67 | ||
68 |
let TID=ID+BASE_TID |
|
69 | ||
70 |
LV_SRC=$(echo $SRC|awk -F. '{print $NF}') |
|
71 |
DEV_SRC="/dev/$VG_NAME/$LV_SRC" |
|
72 | ||
73 |
CLONE_CMD=" |
|
74 |
$SUDO $LVCREATE -L${SIZE}M ${VG_NAME} -n ${LV_NAME} |
|
75 |
$SUDO $DD if=$DEV_SRC of=$DEV bs=64k" |
|
76 | ||
77 |
exec_and_log "$DST_HOST" "$CLONE_CMD" \ |
|
78 |
"Error cloning $DEV_SRC to $DEV in $DST_HOST" |
|
79 | ||
80 |
echo "$IQN" |
opennebula-3.5.80-shared_lvm/src/datastore_mad/remotes/shared_lvm/cp 2012-07-09 08:17:28.543406751 +0200 | ||
---|---|---|
1 |
#!/bin/bash |
|
2 | ||
3 |
# -------------------------------------------------------------------------- # |
|
4 |
# Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org) # |
|
5 |
# # |
|
6 |
# Licensed under the Apache License, Version 2.0 (the "License"); you may # |
|
7 |
# not use this file except in compliance with the License. You may obtain # |
|
8 |
# a copy of the License at # |
|
9 |
# # |
|
10 |
# http://www.apache.org/licenses/LICENSE-2.0 # |
|
11 |
# # |
|
12 |
# Unless required by applicable law or agreed to in writing, software # |
|
13 |
# distributed under the License is distributed on an "AS IS" BASIS, # |
|
14 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # |
|
15 |
# See the License for the specific language governing permissions and # |
|
16 |
# limitations under the License. # |
|
17 |
#--------------------------------------------------------------------------- # |
|
18 | ||
19 |
############################################################################### |
|
20 |
# This script is used to copy a VM image (SRC) to the image repository as DST |
|
21 |
# Several SRC types are supported |
|
22 |
############################################################################### |
|
23 | ||
24 |
# -------- Set up the environment to source common tools & conf ------------ |
|
25 | ||
26 |
if [ -z "${ONE_LOCATION}" ]; then |
|
27 |
LIB_LOCATION=/usr/lib/one |
|
28 |
else |
|
29 |
LIB_LOCATION=$ONE_LOCATION/lib |
|
30 |
fi |
|
31 | ||
32 |
. $LIB_LOCATION/sh/scripts_common.sh |
|
33 | ||
34 |
DRIVER_PATH=$(dirname $0) |
|
35 |
source ${DRIVER_PATH}/../libfs.sh |
|
36 |
source ${DRIVER_PATH}/shared_lvm.conf |
|
37 | ||
38 |
UTILS_PATH="${DRIVER_PATH}/.." |
|
39 | ||
40 |
# -------- Get cp and datastore arguments from OpenNebula core ------------ |
|
41 | ||
42 |
DRV_ACTION=$1 |
|
43 |
ID=$2 |
|
44 | ||
45 |
XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION" |
|
46 | ||
47 |
unset i XPATH_ELEMENTS |
|
48 | ||
49 |
while IFS= read -r -d '' element; do |
|
50 |
XPATH_ELEMENTS[i++]="$element" |
|
51 |
done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/BASE_PATH \ |
|
52 |
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/RESTRICTED_DIRS \ |
|
53 |
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/SAFE_DIRS \ |
|
54 |
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/UMASK \ |
|
55 |
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/VG_NAME \ |
|
56 |
/DS_DRIVER_ACTION_DATA/IMAGE/PATH \ |
|
57 |
/DS_DRIVER_ACTION_DATA/IMAGE/SIZE \ |
|
58 |
/DS_DRIVER_ACTION_DATA/IMAGE/TEMPLATE/MD5 \ |
|
59 |
/DS_DRIVER_ACTION_DATA/IMAGE/TEMPLATE/SHA1) |
|
60 | ||
61 |
BASE_PATH="${XPATH_ELEMENTS[0]}" |
|
62 |
RESTRICTED_DIRS="${XPATH_ELEMENTS[1]}" |
|
63 |
SAFE_DIRS="${XPATH_ELEMENTS[2]}" |
|
64 |
UMASK="${XPATH_ELEMENTS[3]}" |
|
65 |
VG_NAME="${XPATH_ELEMENTS[4]:-$VG_NAME}" |
|
66 |
SRC="${XPATH_ELEMENTS[5]}" |
|
67 |
SIZE="${XPATH_ELEMENTS[6]}" |
|
68 |
MD5="${XPATH_ELEMENTS[7]}" |
|
69 |
SHA1="${XPATH_ELEMENTS[8]}" |
|
70 | ||
71 |
set_up_datastore "$BASE_PATH" "$RESTRICTED_DIRS" "$SAFE_DIRS" "$UMASK" |
|
72 | ||
73 |
LV_NAME="lv-one-${ID}" |
|
74 |
DEV="/dev/$VG_NAME/$LV_NAME" |
|
75 | ||
76 |
HASHES="" |
|
77 | ||
78 |
if [ -n "$MD5" ]; then |
|
79 |
HASHES="$HASHES --md5 $MD5" |
|
80 |
fi |
|
81 | ||
82 |
if [ -n "$SHA1" ]; then |
|
83 |
HASHES="$HASHES --sha1 $SHA1" |
|
84 |
fi |
|
85 | ||
86 |
COPY_COMMAND="$UTILS_PATH/downloader.sh $HASHES $SRC -" |
|
87 | ||
88 |
case $SRC in |
|
89 |
http://*) |
|
90 |
log "Downloading $SRC to the image repository" |
|
91 | ||
92 |
DUMP="$COPY_COMMAND" |
|
93 |
;; |
|
94 | ||
95 |
*) |
|
96 |
if [ `check_restricted $SRC` -eq 1 ]; then |
|
97 |
log_error "Not allowed to copy images from $RESTRICTED_DIRS" |
|
98 |
error_message "Not allowed to copy image file $SRC" |
|
99 |
exit -1 |
|
100 |
fi |
|
101 |
log "Copying local image $SRC to the image repository" |
|
102 | ||
103 |
DUMP="$COPY_COMMAND" |
|
104 |
;; |
|
105 |
esac |
|
106 | ||
107 |
NEWLV_CMD="$SUDO $LVCREATE -L${SIZE}M ${VG_NAME} -n ${LV_NAME}" |
|
108 | ||
109 |
exec_and_log "$NEWLV_CMD" "Error creating new logical volume: $DEV" |
|
110 | ||
111 |
exec_and_log "eval $DUMP | $SUDO $DD of=$DEV bs=64k" \ |
|
112 |
"Error dumping $SRC to $DEV" |
|
113 | ||
114 |
echo "$DEV" |
opennebula-3.5.80-shared_lvm/src/datastore_mad/remotes/shared_lvm/mkfs 2012-07-09 08:17:28.543406751 +0200 | ||
---|---|---|
1 |
#!/bin/bash |
|
2 | ||
3 |
# -------------------------------------------------------------------------- # |
|
4 |
# Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org) # |
|
5 |
# # |
|
6 |
# Licensed under the Apache License, Version 2.0 (the "License"); you may # |
|
7 |
# not use this file except in compliance with the License. You may obtain # |
|
8 |
# a copy of the License at # |
|
9 |
# # |
|
10 |
# http://www.apache.org/licenses/LICENSE-2.0 # |
|
11 |
# # |
|
12 |
# Unless required by applicable law or agreed to in writing, software # |
|
13 |
# distributed under the License is distributed on an "AS IS" BASIS, # |
|
14 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # |
|
15 |
# See the License for the specific language governing permissions and # |
|
16 |
# limitations under the License. # |
|
17 |
#--------------------------------------------------------------------------- # |
|
18 | ||
19 |
############################################################################### |
|
20 |
# This script is used to create a VM image (SRC) of size (SIZE) and formatted |
|
21 |
# as (FS) |
|
22 |
############################################################################### |
|
23 | ||
24 |
# -------- Set up the environment to source common tools & conf ------------ |
|
25 | ||
26 |
if [ -z "${ONE_LOCATION}" ]; then |
|
27 |
LIB_LOCATION=/usr/lib/one |
|
28 |
else |
|
29 |
LIB_LOCATION=$ONE_LOCATION/lib |
|
30 |
fi |
|
31 | ||
32 |
. $LIB_LOCATION/sh/scripts_common.sh |
|
33 | ||
34 |
DRIVER_PATH=$(dirname $0) |
|
35 |
source ${DRIVER_PATH}/../libfs.sh |
|
36 |
source ${DRIVER_PATH}/shared_lvm.conf |
|
37 | ||
38 |
# -------- Get mkfs and datastore arguments from OpenNebula core ------------ |
|
39 | ||
40 |
DRV_ACTION=$1 |
|
41 |
ID=$2 |
|
42 | ||
43 |
XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION" |
|
44 | ||
45 |
unset i XPATH_ELEMENTS |
|
46 | ||
47 |
while IFS= read -r -d '' element; do |
|
48 |
XPATH_ELEMENTS[i++]="$element" |
|
49 |
done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/BASE_PATH \ |
|
50 |
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/RESTRICTED_DIRS \ |
|
51 |
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/SAFE_DIRS \ |
|
52 |
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/UMASK \ |
|
53 |
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/HOST \ |
|
54 |
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/VG_NAME \ |
|
55 |
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/BASE_IQN \ |
|
56 |
/DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/BASE_TID \ |
|
57 |
/DS_DRIVER_ACTION_DATA/IMAGE/FSTYPE \ |
|
58 |
/DS_DRIVER_ACTION_DATA/IMAGE/SIZE) |
|
59 | ||
60 | ||
61 |
BASE_PATH="${XPATH_ELEMENTS[0]}" |
|
62 |
RESTRICTED_DIRS="${XPATH_ELEMENTS[1]}" |
|
63 |
SAFE_DIRS="${XPATH_ELEMENTS[2]}" |
|
64 |
UMASK="${XPATH_ELEMENTS[3]}" |
|
65 |
DST_HOST="${XPATH_ELEMENTS[4]:-$HOST}" |
|
66 |
VG_NAME="${XPATH_ELEMENTS[5]:-$VG_NAME}" |
|
67 |
FSTYPE="${XPATH_ELEMENTS[8]}" |
|
68 |
SIZE="${XPATH_ELEMENTS[9]:-0}" |
|
69 | ||
70 |
set_up_datastore "$BASE_PATH" "$RESTRICTED_DIRS" "$SAFE_DIRS" "$UMASK" |
|
71 | ||
72 |
LV_NAME="lv-one-${ID}" |
|
73 |
DEV="/dev/$VG_NAME/$LV_NAME" |
|
74 | ||
75 |
# ------------ Image to save_as disk, no need to create a FS ------------ |
|
76 | ||
77 |
if [ "$FSTYPE" = "save_as" ]; then |
|
78 |
NEWLV_CMD="$SUDO $LVCREATE -L${SIZE}M ${VG_NAME} -n ${LV_NAME}" |
|
79 |
|
|
80 |
exec_and_log "$NEWLV_CMD" \ |
|
81 |
"Error creating new logical volume: $DEV" |
|
82 | ||
83 |
echo "$DEV $SIZE" |
|
84 |
exit 0 |
|
85 |
fi |
|
86 | ||
87 |
# ------------ Create the image to the repository ------------ |
|
88 | ||
89 |
NEWLV_CMD="$SUDO $LVCREATE -L${SIZE}M ${VG_NAME} -n ${LV_NAME}" |
|
90 | ||
91 |
exec_and_log "$NEWLV_CMD" \ |
|
92 |
"Error creating new logical volume: $DEV" |
|
93 | ||
94 |
MKFS_CMD="$SUDO $(mkfs_command $DEV $FSTYPE)" |
|
95 | ||
96 |
exec_and_log "$MKFS_CMD" \ |
|
97 |
"Error make $FSTYPE filesystem on $DEV" |
|
98 | ||
99 |
echo "$DEV" |
opennebula-3.5.80-shared_lvm/src/datastore_mad/remotes/shared_lvm/rm 2012-07-09 08:17:28.543406751 +0200 | ||
---|---|---|
1 |
#!/bin/bash |
|
2 | ||
3 |
# -------------------------------------------------------------------------- # |
|
4 |
# Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org) # |
|
5 |
# # |
|
6 |
# Licensed under the Apache License, Version 2.0 (the "License"); you may # |
|
7 |
# not use this file except in compliance with the License. You may obtain # |
|
8 |
# a copy of the License at # |
|
9 |
# # |
|
10 |
# http://www.apache.org/licenses/LICENSE-2.0 # |
|
11 |
# # |
|
12 |
# Unless required by applicable law or agreed to in writing, software # |
|
13 |
# distributed under the License is distributed on an "AS IS" BASIS, # |
|
14 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # |
|
15 |
# See the License for the specific language governing permissions and # |
|
16 |
# limitations under the License. # |
|
17 |
#--------------------------------------------------------------------------- # |
|
18 | ||
19 |
############################################################################### |
|
20 |
# This script is used to remove a VM image (SRC) from the image repository |
|
21 |
############################################################################### |
|
22 | ||
23 |
# ------------ Set up the environment to source common tools ------------ |
|
24 |
if [ -z "${ONE_LOCATION}" ]; then |
|
25 |
LIB_LOCATION=/usr/lib/one |
|
26 |
else |
|
27 |
LIB_LOCATION=$ONE_LOCATION/lib |
|
28 |
fi |
|
29 | ||
30 |
. $LIB_LOCATION/sh/scripts_common.sh |
|
31 | ||
32 |
DRIVER_PATH=$(dirname $0) |
|
33 |
source ${DRIVER_PATH}/../libfs.sh |
|
34 |
source ${DRIVER_PATH}/shared_lvm.conf |
|
35 | ||
36 |
# -------- Get rm and datastore arguments from OpenNebula core ------------ |
|
37 | ||
38 |
DRV_ACTION=$1 |
|
39 |
ID=$2 |
|
40 | ||
41 |
XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION" |
|
42 | ||
43 |
unset i XPATH_ELEMENTS |
|
44 | ||
45 |
while IFS= read -r -d '' element; do |
|
46 |
XPATH_ELEMENTS[i++]="$element" |
|
47 |
done < <($XPATH /DS_DRIVER_ACTION_DATA/IMAGE/SOURCE \ |
|
48 |
) |
|
49 | ||
50 |
echo $XPATH_ELEMENTS > /tmp/xpath |
|
51 | ||
52 |
DEV="${XPATH_ELEMENTS[0]}" |
|
53 | ||
54 |
RM_COMMAND="$SUDO $LVREMOVE -f $DEV" |
|
55 | ||
56 |
log "Removing $DEV from the volume group" |
|
57 | ||
58 |
exec_and_log "$RM_COMMAND" \ |
|
59 |
"Error removing $DEV" |
|
60 | ||
61 |
exit 0 |
opennebula-3.5.80-shared_lvm/src/datastore_mad/remotes/shared_lvm/shared_lvm.conf 2012-07-09 08:17:28.543406751 +0200 | ||
---|---|---|
1 |
# -------------------------------------------------------------------------- # |
|
2 |
# Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org) # |
|
3 |
# # |
|
4 |
# Licensed under the Apache License, Version 2.0 (the "License"); you may # |
|
5 |
# not use this file except in compliance with the License. You may obtain # |
|
6 |
# a copy of the License at # |
|
7 |
# # |
|
8 |
# http://www.apache.org/licenses/LICENSE-2.0 # |
|
9 |
# # |
|
10 |
# Unless required by applicable law or agreed to in writing, software # |
|
11 |
# distributed under the License is distributed on an "AS IS" BASIS, # |
|
12 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # |
|
13 |
# See the License for the specific language governing permissions and # |
|
14 |
# limitations under the License. # |
|
15 |
#--------------------------------------------------------------------------- # |
|
16 | ||
17 |
# Default volume group |
|
18 |
VG_NAME=shared_lvm |
|
19 | ||
20 |
# Lists of hosts (separated by spaces) for which no iscsiadm login or logout |
|
21 |
# is performed. |
|
22 |
NO_ISCSI="$HOSTNAME" |
opennebula-3.5.80-shared_lvm/src/datastore_mad/remotes/shared_lvm/stat 2012-07-09 08:17:28.543406751 +0200 | ||
---|---|---|
1 |
#!/bin/bash |
|
2 | ||
3 |
# -------------------------------------------------------------------------- # |
|
4 |
# Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org) # |
|
5 |
# # |
|
6 |
# Licensed under the Apache License, Version 2.0 (the "License"); you may # |
|
7 |
# not use this file except in compliance with the License. You may obtain # |
|
8 |
# a copy of the License at # |
|
9 |
# # |
|
10 |
# http://www.apache.org/licenses/LICENSE-2.0 # |
|
11 |
# # |
|
12 |
# Unless required by applicable law or agreed to in writing, software # |
|
13 |
# distributed under the License is distributed on an "AS IS" BASIS, # |
|
14 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # |
|
15 |
# See the License for the specific language governing permissions and # |
|
16 |
# limitations under the License. # |
|
17 |
#--------------------------------------------------------------------------- # |
|
18 | ||
19 |
############################################################################### |
|
20 |
# This script is used to copy a VM image (SRC) to the image repository as DST |
|
21 |
# Several SRC types are supported |
|
22 |
############################################################################### |
|
23 | ||
24 |
# -------- Set up the environment to source common tools & conf ------------ |
|
25 | ||
26 |
if [ -z "${ONE_LOCATION}" ]; then |
|
27 |
LIB_LOCATION=/usr/lib/one |
|
28 |
else |
|
29 |
LIB_LOCATION=$ONE_LOCATION/lib |
|
30 |
fi |
|
31 | ||
32 |
. $LIB_LOCATION/sh/scripts_common.sh |
|
33 | ||
34 |
DRIVER_PATH=$(dirname $0) |
|
35 |
source ${DRIVER_PATH}/../libfs.sh |
|
36 | ||
37 |
# -------- Get cp and datastore arguments from OpenNebula core ------------ |
|
38 | ||
39 |
DRV_ACTION=$1 |
|
40 |
ID=$2 |
|
41 | ||
42 |
XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION" |
|
43 | ||
44 |
unset i XPATH_ELEMENTS |
|
45 | ||
46 |
while IFS= read -r -d '' element; do |
|
47 |
XPATH_ELEMENTS[i++]="$element" |
|
48 |
done < <($XPATH /DS_DRIVER_ACTION_DATA/IMAGE/PATH) |
|
49 | ||
50 |
SRC="${XPATH_ELEMENTS[0]}" |
|
51 | ||
52 |
SIZE=`fs_size $SRC` |
|
53 | ||
54 |
if [ "$SIZE" = "0" ]; then |
|
55 |
log_error "Cannot determine size for $SRC" |
|
56 |
exit -1 |
|
57 |
fi |
|
58 | ||
59 |
echo "$SIZE" |
opennebula-3.5.80-shared_lvm/src/sunstone/public/js/plugins/datastores-tab.js 2012-07-09 08:22:44.595406751 +0200 | ||
---|---|---|
61 | 61 |
<option value="vmware">' + tr("VMware") + '</option>\ |
62 | 62 |
<option value="iscsi">' + tr("iSCSI") + '</option>\ |
63 | 63 |
<option value="lvm">' + tr("LVM") + '</option>\ |
64 |
<option value="shared_lvm">' + tr("Shared LVM") + '</option>\ |
|
64 | 65 |
</select>\ |
65 | 66 |
<label>' + tr("Transfer manager") + ':</label>\ |
66 | 67 |
<select id="tm_mad" name="tm_mad">\ |
67 | 68 |
<option value="shared">' + tr("Shared") + '</option>\ |
68 | 69 |
<option value="ssh">' + tr("SSH") + '</option>\ |
69 | 70 |
<option value="iscsi">' + tr("iSCSI") + '</option>\ |
71 |
<option value="shared_lvm">' + tr("Shared LVM") + '</option>\ |
|
70 | 72 |
<option value="dummy">' + tr("Dummy") + '</option>\ |
71 | 73 |
</select>\ |
72 | 74 |
<label>' + tr("Disk type") + ':</label>\ |
opennebula-3.5.80-shared_lvm/src/tm_mad/shared_lvm/clone 2012-07-09 08:18:10.187406751 +0200 | ||
---|---|---|
1 |
#!/bin/bash |
|
2 | ||
3 |
# -------------------------------------------------------------------------- # |
|
4 |
# Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org) # |
|
5 |
# # |
|
6 |
# Licensed under the Apache License, Version 2.0 (the "License"); you may # |
|
7 |
# not use this file except in compliance with the License. You may obtain # |
|
8 |
# a copy of the License at # |
|
9 |
# # |
|
10 |
# http://www.apache.org/licenses/LICENSE-2.0 # |
|
11 |
# # |
|
12 |
# Unless required by applicable law or agreed to in writing, software # |
|
13 |
# distributed under the License is distributed on an "AS IS" BASIS, # |
|
14 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # |
|
15 |
# See the License for the specific language governing permissions and # |
|
16 |
# limitations under the License. # |
|
17 |
#--------------------------------------------------------------------------- # |
|
18 | ||
19 |
# clone fe:SOURCE host:remote_system_ds/disk.i size |
|
20 |
# - fe is the front-end hostname |
|
21 |
# - SOURCE is the path of the disk image in the form DS_BASE_PATH/disk |
|
22 |
# - host is the target host to deploy the VM |
|
23 |
# - remote_system_ds is the path for the system datastore in the host |
|
24 | ||
25 |
SRC=$1 |
|
26 |
DST=$2 |
|
27 | ||
28 |
if [ -z "${ONE_LOCATION}" ]; then |
|
29 |
TMCOMMON=/var/lib/one/remotes/tm/tm_common.sh |
|
30 |
else |
|
31 |
TMCOMMON=$ONE_LOCATION/var/remotes/tm/tm_common.sh |
|
32 |
fi |
|
33 | ||
34 |
DRIVER_PATH=$(dirname $0) |
|
35 | ||
36 |
. $TMCOMMON |
|
37 | ||
38 |
SRC_DEV=`arg_path $SRC` |
|
39 |
DST_PATH=`arg_path $DST` |
|
40 |
DST_HOST=`arg_host $DST` |
|
41 |
DST_DIR=`dirname $DST_PATH` |
|
42 |
VM_ID=`echo $DST_DIR | awk '{split($0,a,"/"); print a[length(a)];}'` |
|
43 |
NEW_DEV=$SRC_DEV-$VM_ID |
|
44 | ||
45 |
VG_NAME=`echo $SRC_DEV | sed -r 's/.dev\/([^\/]*).*/\1/g'` |
|
46 |
LV_NAME=`echo $SRC_DEV | sed -r 's/.dev\/[^\/]*\/(.*)/\1/g'` |
|
47 | ||
48 | ||
49 |
SIZE=`$SUDO lvdisplay $SRC_DEV | awk '/Current LE/ {print $3}'` |
|
50 | ||
51 |
log "Create LV" |
|
52 |
$SUDO $LVCREATE -l${SIZE} ${VG_NAME} -n ${NEW_DEV} |
|
53 | ||
54 |
log "Cloning $SRC_DEV to ${NEW_DEV}" |
|
55 |
$SUDO $DD if=$SRC_DEV of=$NEW_DEV bs=64k |
|
56 | ||
57 |
DISCOVER_CMD=$(cat <<EOF |
|
58 |
set -e |
|
59 |
mkdir -p $DST_DIR |
|
60 |
sudo lvscan |
|
61 |
sudo lvchange -a y $NEW_DEV |
|
62 |
ln -s "$NEW_DEV" "$DST_PATH" |
|
63 |
EOF |
|
64 |
) |
|
65 | ||
66 |
ssh_exec_and_log "$DST_HOST" "$DISCOVER_CMD" \ |
|
67 |
"Error registering $NEW_DEV" |
|
68 | ||
69 |
exit 0 |
opennebula-3.5.80-shared_lvm/src/tm_mad/shared_lvm/delete 2012-07-09 08:18:10.187406751 +0200 | ||
---|---|---|
1 |
#!/bin/bash |
|
2 | ||
3 |
# -------------------------------------------------------------------------- # |
|
4 |
# Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org) # |
|
5 |
# # |
|
6 |
# Licensed under the Apache License, Version 2.0 (the "License"); you may # |
|
7 |
# not use this file except in compliance with the License. You may obtain # |
|
8 |
# a copy of the License at # |
|
9 |
# # |
|
10 |
# http://www.apache.org/licenses/LICENSE-2.0 # |
|
11 |
# # |
|
12 |
# Unless required by applicable law or agreed to in writing, software # |
|
13 |
# distributed under the License is distributed on an "AS IS" BASIS, # |
|
14 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # |
|
15 |
# See the License for the specific language governing permissions and # |
|
16 |
# limitations under the License. # |
|
17 |
#--------------------------------------------------------------------------- # |
|
18 | ||
19 |
# DELETE <host:remote_system_ds/disk.i|host:remote_system_ds/> |
|
20 |
# - host is the target host to deploy the VM |
|
21 |
# - remote_system_ds is the path for the system datastore in the host |
|
22 | ||
23 |
DST=$1 |
|
24 | ||
25 |
if [ -z "${ONE_LOCATION}" ]; then |
|
26 |
TMCOMMON=/var/lib/one/remotes/tm/tm_common.sh |
|
27 |
else |
|
28 |
TMCOMMON=$ONE_LOCATION/var/remotes/tm/tm_common.sh |
|
29 |
fi |
|
30 | ||
31 |
. $TMCOMMON |
|
32 | ||
33 |
#------------------------------------------------------------------------------- |
|
34 |
# Return if deleting a disk, we will delete them when removing the |
|
35 |
# remote_system_ds directory for the VM (remotely) |
|
36 |
#------------------------------------------------------------------------------- |
|
37 |
DST_PATH=`arg_path $DST` |
|
38 |
DST_DIR=`dirname $DST_PATH` |
|
39 |
DST_HOST=`arg_host $DST` |
|
40 | ||
41 |
if [ `is_disk $DST_PATH` -eq 1 ]; then |
|
42 |
# Disk |
|
43 |
LV_PATH=`$SSH $DST_HOST readlink $DST_PATH` |
|
44 |
LV_NAME=`echo $LV_PATH | sed -r 's/.dev\/[^\/]*\/(.*)/\1/g'` |
|
45 |
LEN=`echo -n $LV_NAME | grep -o - | wc -c` |
|
46 |
$SSH $DST_HOST "lvchange -a n $LV_PATH" |
|
47 |
if [ $LEN -eq 6 ]; then #Non persistent |
|
48 |
log "Removing non persistent disk from shared LVM DS" |
|
49 |
exec_and_log "$SUDO $LVREMOVE -f $LV_PATH" \ |
|
50 |
"Error while removing LV $LV_PATH" |
|
51 |
fi |
|
52 |
else |
|
53 |
# Directory |
|
54 |
log "Deleting $DST_PATH" |
|
55 |
ssh_exec_and_log "$DST_HOST" "rm -rf $DST_PATH" "Error deleting $DST_PATH" |
|
56 |
fi |
|
57 | ||
58 |
exit 0 |
opennebula-3.5.80-shared_lvm/src/tm_mad/shared_lvm/ln 2012-07-09 08:18:10.187406751 +0200 | ||
---|---|---|
1 |
#!/bin/bash |
|
2 | ||
3 |
# -------------------------------------------------------------------------- # |
|
4 |
# Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org) # |
|
5 |
# # |
|
6 |
# Licensed under the Apache License, Version 2.0 (the "License"); you may # |
|
7 |
# not use this file except in compliance with the License. You may obtain # |
|
8 |
# a copy of the License at # |
|
9 |
# # |
|
10 |
# http://www.apache.org/licenses/LICENSE-2.0 # |
|
11 |
# # |
|
12 |
# Unless required by applicable law or agreed to in writing, software # |
|
13 |
# distributed under the License is distributed on an "AS IS" BASIS, # |
|
14 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # |
|
15 |
# See the License for the specific language governing permissions and # |
|
16 |
# limitations under the License. # |
|
17 |
#--------------------------------------------------------------------------- # |
|
18 | ||
19 |
# clone fe:SOURCE host:remote_system_ds/disk.i size |
|
20 |
# - fe is the front-end hostname |
|
21 |
# - SOURCE is the path of the disk image in the form DS_BASE_PATH/disk |
|
22 |
# - host is the target host to deploy the VM |
|
23 |
# - remote_system_ds is the path for the system datastore in the host |
|
24 | ||
25 |
SRC=$1 |
|
26 |
DST=$2 |
|
27 | ||
28 |
if [ -z "${ONE_LOCATION}" ]; then |
|
29 |
TMCOMMON=/var/lib/one/remotes/tm/tm_common.sh |
|
30 |
else |
|
31 |
TMCOMMON=$ONE_LOCATION/var/remotes/tm/tm_common.sh |
|
32 |
fi |
|
33 | ||
34 |
. $TMCOMMON |
|
35 | ||
36 |
#------------------------------------------------------------------------------- |
|
37 |
# Set dst path and dir |
|
38 |
#------------------------------------------------------------------------------- |
|
39 | ||
40 |
IQN=$SRC |
|
41 |
DEV=`arg_path $SRC` |
|
42 |
DST_PATH=`arg_path $DST` |
|
43 |
DST_HOST=`arg_host $DST` |
|
44 |
DST_DIR=`dirname $DST_PATH` |
|
45 | ||
46 |
DISCOVER_CMD=$(cat <<EOF |
|
47 |
set -e |
|
48 |
mkdir -p $DST_DIR |
|
49 |
sudo lvscan |
|
50 |
sudo lvchange -a y $DEV |
|
51 |
ln -s "$DEV" "$DST_PATH" |
|
52 |
EOF |
|
53 |
) |
|
54 | ||
55 |
ssh_exec_and_log "$DST_HOST" "$DISCOVER_CMD" \ |
|
56 |
"Error registering $DST_HOST:$DEV" |
|
57 |
exit 0 |
opennebula-3.5.80-shared_lvm/src/tm_mad/shared_lvm/mv 2012-07-09 08:18:10.187406751 +0200 | ||
---|---|---|
1 |
#!/bin/bash |
|
2 | ||
3 |
# -------------------------------------------------------------------------- # |
|
4 |
# Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org) # |
|
5 |
# # |
|
6 |
# Licensed under the Apache License, Version 2.0 (the "License"); you may # |
|
7 |
# not use this file except in compliance with the License. You may obtain # |
|
8 |
# a copy of the License at # |
|
9 |
# # |
|
10 |
# http://www.apache.org/licenses/LICENSE-2.0 # |
|
11 |
# # |
|
12 |
# Unless required by applicable law or agreed to in writing, software # |
|
13 |
# distributed under the License is distributed on an "AS IS" BASIS, # |
|
14 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # |
|
15 |
# See the License for the specific language governing permissions and # |
|
16 |
# limitations under the License. # |
|
17 |
#--------------------------------------------------------------------------- # |
|
18 | ||
19 |
# MV <hostA:system_ds/disk.i|hostB:system_ds/disk.i> |
|
20 |
# <hostA:system_ds/|hostB:system_ds/> |
|
21 |
# - hostX is the target host to deploy the VM |
|
22 |
# - system_ds is the path for the system datastore in the host |
|
23 | ||
24 |
SRC=$1 |
|
25 |
DST=$2 |
|
26 | ||
27 |
if [ -z "${ONE_LOCATION}" ]; then |
|
28 |
TMCOMMON=/var/lib/one/remotes/tm/tm_common.sh |
|
29 |
else |
|
30 |
TMCOMMON=$ONE_LOCATION/var/remotes/tm/tm_common.sh |
|
31 |
fi |
|
32 | ||
33 |
. $TMCOMMON |
|
34 | ||
35 |
DRIVER_PATH=$(dirname $0) |
|
36 | ||
37 |
source ${DRIVER_PATH}/../../datastore/iscsi/iscsi.conf |
|
38 | ||
39 |
#------------------------------------------------------------------------------- |
|
40 |
# Return if moving a disk, we will move them when moving the whole system_ds |
|
41 |
# directory for the VM |
|
42 |
#------------------------------------------------------------------------------- |
|
43 |
SRC_PATH=`arg_path $SRC` |
|
44 |
DST_PATH=`arg_path $DST` |
|
45 | ||
46 |
SRC_HOST=`arg_host $SRC` |
|
47 |
DST_HOST=`arg_host $DST` |
|
48 | ||
49 |
DST_DIR=`dirname $DST_PATH` |
|
50 | ||
51 |
if [ `is_disk $SRC_PATH` -eq 0 ]; then |
|
52 |
ssh_make_path $DST_HOST $DST_DIR |
|
53 | ||
54 |
log "Moving $SRC to $DST" |
|
55 | ||
56 |
exec_and_log "$SCP -r $SRC $DST" "Could not copy $SRC to $DST" |
|
57 | ||
58 |
ssh_exec_and_log "$SRC_HOST" "rm -rf $SRC_PATH" \ |
|
59 |
"Could not remove $SRC_HOST:$SRC_PATH" |
|
60 | ||
61 |
exit 0 |
|
62 |
fi |
|
63 | ||
64 |
if [ "$SRC" == "$DST" ]; then |
|
65 |
log "Not moving $SRC to $DST, they are the same path" |
|
66 |
exit 0 |
|
67 |
fi |
|
68 | ||
69 |
DEV=`$SSH $SRC_HOST readlink $SRC_PATH` |
|
70 | ||
71 |
LOGIN_CMD=$(cat <<EOF |
|
72 |
set -e |
|
73 |
mkdir -p $DST_DIR |
|
74 |
sudo lvscan |
|
75 |
sudo lvchange -a y $DEV |
|
76 |
ln -sf "$DEV" "$DST_PATH" |
|
77 |
EOF |
|
78 |
) |
|
79 | ||
80 |
ssh_exec_and_log "$DST_HOST" "$LOGIN_CMD" \ |
|
81 |
"Error changing LV state to active" |
|
82 | ||
83 |
exit 0 |
opennebula-3.5.80-shared_lvm/src/tm_mad/shared_lvm/mvds 2012-07-09 08:18:10.187406751 +0200 | ||
---|---|---|
1 |
#!/bin/bash |
|
2 | ||
3 |
# -------------------------------------------------------------------------- # |
|
4 |
# Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org) # |
|
5 |
# # |
|
6 |
# Licensed under the Apache License, Version 2.0 (the "License"); you may # |
|
7 |
# not use this file except in compliance with the License. You may obtain # |
|
8 |
# a copy of the License at # |
|
9 |
# # |
|
10 |
# http://www.apache.org/licenses/LICENSE-2.0 # |
|
11 |
# # |
|
12 |
# Unless required by applicable law or agreed to in writing, software # |
|
13 |
# distributed under the License is distributed on an "AS IS" BASIS, # |
|
14 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # |
|
15 |
# See the License for the specific language governing permissions and # |
|
16 |
# limitations under the License. # |
|
17 |
#--------------------------------------------------------------------------- # |
|
18 | ||
19 |
# mvds host:remote_system_ds/disk.i fe:SOURCE |
|
20 |
# - fe is the front-end hostname |
|
21 |
# - SOURCE is the path of the disk image in the form DS_BASE_PATH/disk |
|
22 |
# - host is the target host to deploy the VM |
|
23 |
# - remote_system_ds is the path for the system datastore in the host |
|
24 | ||
25 |
SRC=$1 |
|
26 |
DST=$2 |
|
27 | ||
28 |
if [ -z "${ONE_LOCATION}" ]; then |
|
29 |
TMCOMMON=/var/lib/one/remotes/tm/tm_common.sh |
|
30 |
else |
|
31 |
TMCOMMON=$ONE_LOCATION/var/remotes/tm/tm_common.sh |
|
32 |
fi |
|
33 | ||
34 |
. $TMCOMMON |
|
35 | ||
36 |
SRC_HOST=`arg_host $SRC` |
|
37 |
SRC_PATH=`arg_path $SRC` |
|
38 |
DEV=`$SSH $SRC_HOST readlink $SRC_PATH` |
|
39 | ||
40 |
LV_NAME=`echo $DEV | sed -r 's/.dev\/[^\/]*\/(.*)/\1/g'` |
|
41 | ||
42 |
LEN=`echo -n $LV_NAME | grep -o - | wc -c` |
|
43 | ||
44 |
if [ $LEN -eq 6 ]; then |
|
45 |
#non persistent |
|
46 |
log "Copy non persistent image" |
|
47 |
$SUDO $DD if=$DEV of=$DST bs=64k |
|
48 |
$SUDO $LVREMOVE -f $DEV |
|
49 |
exit 0 |
|
50 | ||
51 |
exit 0 |
|
52 |
fi |
|
53 |