일단 콘솔에서 NAS를 만든다.
중간에 NAS를 연결할 서버를 선택해준다.
MobaXterm으로 서버에 접속한다.
/root 폴더에서 시작한다.
/root/nas.sh 파일을 만든다. 권한을 준다.
centos랑 한 줄만 다르다.
apt-get install << 이거 한줄만 변경하면 된다.
자기 계정의 key, nas 정보를 수정하기
touch nas.sh
chmod 777 nas.sh
vim nas.sh
# 하위 내용 수정 후 붙여 넣기
# 수정은 ACCESSKEY / SECRETKEY / NASINSTANCENO / NASMOUNTURL 부분 수정
#!/bin/bash
if [ -z "$BASH_VERSION" ]; then exec bash "$0" "$@"; fi
ACCESSKEY="865ED25EC5FF2"
SECRETKEY="F229503E0B5805B71EBBBB21A56AE0"
NASINSTANCENO="2256"
NASMOUNTURL="169.254.82.16:/n2905028_oksk"
MOUNTPOINT=/mnt/nas
# signature_finction
function signature_function(){
local nl=$'\\n'
SIG="$4"' '"$5"${nl}"$3"${nl}"$1"
SIGNITURE=$(echo -n -e "$SIG"|iconv -t utf8 |openssl dgst -sha256 -hmac $2 -binary|openssl enc -base64)
}
signature_function
## Check VPC
if [[ ! -d /home1/nbpmon/noms/nsight/bin || `timeout 1s nslookup vmconf.ncloud.com | grep -c '169.254'` -ge 1 ]]; then
VPC_ENV=2
else
VPC_ENV=0
fi
if [ $VPC_ENV == "2" ]; then
# instance_no
IPADDR=$(/sbin/ifconfig eth0 |grep inet | awk '{print$2}' | sed 's/[^0-9, .]//g'|head -n 1)
TIMESTAMP=$(echo $(($(date +%s%N)/1000000)))
METHOD="GET"
URI="/vserver/v2/getServerInstanceList?ip="$IPADDR"&responseFormatType=json"
signature_function $ACCESSKEY $SECRETKEY $TIMESTAMP $METHOD $URI
INSTANCENO=$(curl -i -X $METHOD -H x-ncp-apigw-timestamp:$TIMESTAMP -H x-ncp-iam-access-key:$ACCESSKEY -H x-ncp-apigw-signature-v2:$SIGNITURE https://ncloud.apigw.ntruss.com$URI|grep "serverInstanceNo"|awk '{print $2}'|sed 's/.//'|sed 's/..$//' )
# nas_acl_add
TIMESTAMP=$(echo $(($(date +%s%N)/1000000)))
METHOD="GET"
URI="/vnas/v2/addNasVolumeAccessControl?nasVolumeInstanceNo="$NASINSTANCENO"&serverInstanceNoList.1="$INSTANCENO
signature_function $ACCESSKEY $SECRETKEY $TIMESTAMP $METHOD $URI
returnCode=$(curl -i -X $METHOD -H x-ncp-apigw-timestamp:$TIMESTAMP -H x-ncp-iam-access-key:$ACCESSKEY -H x-ncp-apigw-signature-v2:$SIGNITURE https://ncloud.apigw.ntruss.com$URI | grep returnCode |sed 's/>/</' |awk -F "<" '{print $3}'| sed '/^$/d')
while true
do
if [ $returnCode == "24304" ] || [ $returnCode == "300009" ]
then
returnCode=$(curl -i -X $METHOD -H x-ncp-apigw-timestamp:$TIMESTAMP -H x-ncp-iam-access-key:$ACCESSKEY -H x-ncp-apigw-signature-v2:$SIGNITURE https://ncloud.apigw.ntruss.com$URI | grep returnCode |sed 's/>/</' |awk -F "<" '{print $3}'| sed '/^$/d')
else
break
fi
done
else
# instance_no
IPADDR=$(/sbin/ifconfig eth0 |grep inet | awk '{print$2}' | sed 's/[^0-9, .]//g'|head -n 1)
TIMESTAMP=$(echo $(($(date +%s%N)/1000000)))
METHOD="GET"
URI="/server/v2/getServerInstanceList?searchFilterName=ip&searchFilterValue="$IPADDR"&responseFormatType=json"
signature_function $ACCESSKEY $SECRETKEY $TIMESTAMP $METHOD $URI
INSTANCENO=$(curl -i -X $METHOD -H x-ncp-apigw-timestamp:$TIMESTAMP -H x-ncp-iam-access-key:$ACCESSKEY -H x-ncp-apigw-signature-v2:$SIGNITURE https://ncloud.apigw.ntruss.com$URI|grep "serverInstanceNo"|awk '{print $2}'|sed 's/.//'|sed 's/..$//' )
# nas_acl_add
TIMESTAMP=$(echo $(($(date +%s%N)/1000000)))
METHOD="GET"
URI="/server/v2/addNasVolumeAccessControl?nasVolumeInstanceNo="$NASINSTANCENO"&serverInstanceNoList.1="$INSTANCENO
signature_function $ACCESSKEY $SECRETKEY $TIMESTAMP $METHOD $URI
returnCode=$(curl -i -X $METHOD -H x-ncp-apigw-timestamp:$TIMESTAMP -H x-ncp-iam-access-key:$ACCESSKEY -H x-ncp-apigw-signature-v2:$SIGNITURE https://ncloud.apigw.ntruss.com$URI | grep returnCode |sed 's/>/</' |awk -F "<" '{print $3}'| sed '/^$/d')
while true
do
if [ $returnCode == "24304" ] || [ $returnCode == "300009" ]
then
returnCode=$(curl -i -X $METHOD -H x-ncp-apigw-timestamp:$TIMESTAMP -H x-ncp-iam-access-key:$ACCESSKEY -H x-ncp-apigw-signature-v2:$SIGNITURE https://ncloud.apigw.ntruss.com$URI | grep returnCode |sed 's/>/</' |awk -F "<" '{print $3}'| sed '/^$/d')
else
break
fi
done
fi
########################################################################
# Set nfs package
# Centos 7.x
# https://guide.ncloud-docs.com/docs/nas-use-linux-vpc
apt-get -y install nfs-common
systemctl start rpcbind.service
systemctl enable rpcbind.service
# Mount
mkdir $MOUNTPOINT
mount -t nfs -o vers=3 $NASMOUNTURL $MOUNTPOINT
# mount FSTAB add
echo "169.254.82.16:/n2905028_oksk /mnt/nas nfs vers=3,defaults 0 0" >> /etc/fstab
이거 재부팅하면 마운트가 풀려있다. 오토스케일링하려면 마운트 고정하는 것도 init 스크립트에 넣어야 함.
init에 작성할 내용
#!/bin/bash
/root/nas.sh
'배운 내용 > 클라우드 교육' 카테고리의 다른 글
2월13일 - 테라폼으로 NKS 클러스터 구축하기 (1) | 2024.02.13 |
---|---|
2월13일 - NKS 실습 (0) | 2024.02.13 |
1월31일 - pem key 없이 서버 접속하기 (0) | 2024.01.31 |
1월30일 - WEB/WAS(Tomcat)서버에 Cloud DB for MySQL 연동하기 (0) | 2024.01.30 |
1월30일 - ubuntu 20.04 / NginX 1.24.0 / Tomcat 10.1.18 설치 및 연동하기 (0) | 2024.01.30 |