이걸 자료실에 올려야 될지 강좌에 올려야 될지 참 애매한데요.
일단 강좌란에 올려두고 운영진의 판단을 기대해 봅니다.
아무튼 저는 지금 운용환경을 몇달째 셋팅중인데요.. 조금전에 저의 필요에 의해서 만든 스크립트하나 공유해 봅니다.
( vcenter를 이용하는 방법도 있지만 하다보니 vcneter보다 ssh로그인 해서 하는 작업이 성격상 더 편리하더군요. )
인터넷 어딘가에서 vm-copy.sh인가를 다운받은 것을 데이터스토어 포함하여 복사하는 버전으로 업그레이드 시킨 것입니다.
빨간색 부분이 소스고요.
// ---[/bin/vm-copy2]-----------------------------------
cat > /bin/vm-copy2
#!/bin/sh -x
if [ $# -ne 2 ];then
echo "USAGE: $0 SRC_DIR(FULLPATH) DEST_DIR(FULLPATH)";
exit;
fi;
## remove /
SRC=`basename "$1" /`
DEST=`basename "$2" /`
SRCDIR=`dirname "$1"`
DESTDIR=`dirname "$2"`
if [ ! -d "$SRCDIR/$SRC" ];then
echo "Source Dir \"$SRCDIR/$SRC\" is not exist. Exit....";
exit;
fi
if [ -d "$DESTDIR/$DEST" ];then
echo "Dest Dir \"$DESTDIR/$DEST\" is already exist. Exit....";
exit;
fi
mkdir "$DESTDIR/$DEST"
vmkfstools -i "${SRCDIR}/${SRC}/${SRC}".vmdk "${DESTDIR}/${DEST}/${DEST}".vmdk -d thin
sed "s/${SRC}/${DEST}/g" < "${SRCDIR}/${SRC}/${SRC}".vmx > "${DESTDIR}/${DEST}/${DEST}".vmx
sed "s/${SRC}/${DEST}/g" < "${SRCDIR}/${SRC}/${SRC}".vmxf > "${DESTDIR}/${DEST}/${DEST}".vmxf
echo "$Done!";
-----------------------------------[/bin/vm-copy2]---//
cat 부터 마지막 echo 까지 복사해서 그냥 ssh에서 붙여넣기 하시고 Ctrl + d 누르시면 /bin/폴더에 vm-copy2가 생깁니다.
그 다음에 chmod 명령 실행하고요.
chmod a+x /bin/vm-copy2
다음과 같이 실행하시면 됩니다.
vm-copy2 \
/vmfs/volumes/datastore1/win8.1msm \
/vmfs/volumes/ssd_mx200/svr-msm
원본(?) vm-copy와 차이점
1. 전체 경로를 적어줘야 한다 ( 데이터스토어를 다르게 하기 위해 )
2. vmdk가 씬인 경우 씬으로 복사된다. (씩이면 씩으로..)
3. 원본vm-copy도 마찬가지지만 vmdk여러개인 경우 메인 하나만 복사된다.
여러개 만들었으면 vmdk별로 각각 vmkfstools 각각 실행해야 합니다.
vmkfstools -i 원본.vmdk 대상.vmdk -d thin
이동(move)이 아니라 복사이기 때문에 별다른 사고가 나진 않을 것 같지만
(잘 안되면 삭제하고 다시 하면 되니깐....)
사고에 대한 책임소재는 본인에게 있습니다.
ps: 이후로 제가 만들 스크립트는 이름변경입니다만 이건 move(원본수정)개념이라 공유를 해야할지 조금 망설여 지네요...