Open jschoiRR opened 1 year ago
cloud-init user-data test
L2 network로 Centos8-cloud-init 가상 머신을 만들어서 테스트
users:
cloud-init 볼륨 확장
disk_setup: ephemeral: false devices:
fs_resize:
growpart: mode: auto devices:
사용 가능한 모든 EBS 볼륨을 가져옵니다. VOLUMES=$(lsblk -o NAME,TYPE | grep disk | awk '{print $1}')
for VOLUME in $VOLUMES; do 파일 시스템이 xfs 인 경우 if [ $(sudo file -s /dev/$VOLUME | grep -c xfs) -gt 0 ]; then 현재 파일 시스템 용량을 확인합니다. SIZE=$(sudo xfs_info /dev/$VOLUME | awk '/blocks/ {print $3}')
EBS 볼륨 용량을 확인합니다.
BLOCK_SIZE=$(sudo blockdev --getsize64 /dev/$VOLUME)
NEW_SIZE=$((BLOCK_SIZE / 1024 / 1024 / 1024))
EBS 볼륨 용량이 파일 시스템 용량보다 큰 경우
if [ $NEW_SIZE -gt $SIZE ]; then
파일 시스템 크기를 조정합니다.
sudo xfs_growfs /mnt/data
파일 시스템을 마운트합니다.
sudo mount /dev/$VOLUME /mnt/data
fi
fi done
스토리지VM UI 및 흐름도-관리자
스토리지VM UI 및 흐름도-사용자
필요한 패키지 설치 sudo dnf install -y nfs-utils nfs4-acl-tools
새 디스크 파티션 및 포맷 sudo fdisk /dev/sdb sudo mkfs.xfs /dev/sdb1
새 디스크 생성 및 마운트 sudo mkdir /data1 sudo mount /dev/sdb1 /data1
sudo mkdir -p /var/nfs/share sudo mkdir -p /home
NFS 서버 설정 mkdir -p /var/nfs/share
echo "/var/nfs/share 10.10.254.136(rw,sync,no_subtree_check)" >> /etc/exports echo "/home 10.10.254.136(rw,sync,no_root_squash,no_subtree_check)" >> /etc/exports echo "/dev/sdb1 /data1 10.10.254.136(rw,sync,no_subtree_check)" >> /etc/exports exportfs -arv
systemctl enable nfs-server.service systemctl start nfs-server.service
마운트 지점 추가 echo "/dev/sdb1 /data1 /xfs defaults 0 0" >> /etc/fstab echo "/var/nfs/share /nfs/share nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0" >> /etc/fstab echo "/home /nfs/home nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0" >> /etc/fstab
nfs-client
nfs-utils 및 nfs4-acl-tools 설치 sudo dnf install nfs-utils nfs4-acl-tools -y
nfs 마운트 디렉토리 생성 sudo mkdir -p /nfs/share sudo mkdir -p /nfs/home
nfs 마운트 sudo mount host_ip:/var/nfs/share /nfs/share sudo mount host_ip:/home /nfs/home
테스트 파일 생성 sudo touch /nfs/share/test.txt sudo touch /nfs/home/home.txt
fstab 설정 echo "host_ip:/var/nfs/share /nfs/share nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0" | sudo tee -a /etc/fstab echo "host_ip:/home /nfs/home nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0" | sudo tee -a /etc/fstab
nfs 마운트 실행 mount_nfs
fstab 설정 실행 set_fstab
nfs 마운트 해제 예시 umount_nfs
sudo dnf install -y nfs-utils nfs4-acl-tools parted /dev/sdb mklabel gpt mkpart primary 0% 100%
sudo mkfs.xfs /dev/sdb1 sudo mkdir /data1 sudo mount /dev/sdb1 /data1
echo "/mnt/data *(rw,sync,no_root_squash)" >> /etc/exports exportfs -a
systemctl start nfs-utils systemctl enable nfs-utils systemctl restart nfs-utils
mount -t nfs -o rw,vers=4 127.0.0.1:/mnt/data /mnt/data
sudo dnf install -y samba samba-client samba-common sudo dnf install -y xfsprogs
sudo parted /dev/sdb mklabel gpt mkpart primary 0% 100% sudo mkfs.xfs /dev/sdb1
sudo mkdir /mnt/data
sudo mount /dev/sdb1 /mnt/data
echo "[data] path = /mnt/data read only = no browseable = yes" | sudo tee -a /etc/samba/smb.conf
sudo systemctl start smb sudo systemctl enable smb
sudo firewall-cmd --permanent --zone=public --add-service=samba sudo firewall-cmd --reload
echo "/dev/sdb1 /mnt/data xfs defaults 0 0" >> /etc/fstab
sudo dnf install -y samba samba-client samba-common sudo dnf install -y xfsprogs
sudo parted /dev/sdb mklabel gpt mkpart primary 0% 100% sudo mkfs.xfs /dev/sdb1
sudo mkdir /mnt/data
sudo mount /dev/sdb1 /mnt/data
echo "[data] path = /mnt/data read only = no browseable = yes" | sudo tee -a /etc/samba/smb.conf
IP_ADDRESS="192.168.0.100" NETMASK="255.255.255.0" GATEWAY="192.168.0.1"
sudo sed -i 's/; bind interfaces only = yes/bind interfaces only = yes/' /etc/samba/smb.conf sudo sed -i 's/; interfaces = 127.0.0.0\/8 ens3/interfaces = '$IP_ADDRESS'\/'$NETMASK'/' /etc/samba/smb.conf
sudo ip addr flush dev ens3 sudo ip addr add $IP_ADDRESS/$NETMASK dev ens3 sudo ip route add default via $GATEWAY dev ens3
sudo systemctl restart networking
sudo systemctl restart smbd sudo systemctl restart nmbd
echo "/dev/sdb1 /mnt/data xfs defaults 0 0" >> /etc/fstab
필요한 패키지 설치 sudo dnf install -y targetcli sudo dnf install -y xfsprogs
디스크 파티션 생성 및 포맷 sudo parted /dev/sdb mklabel gpt mkpart primary 0% 100% sudo mkfs.xfs /dev/sdb1
iSCSI target 구성 sudo targetcli /backstores/block create iscsi_store /dev/sdb1 sudo targetcli /iscsi create iqn.2023-04.com.example:storage.target01 sudo targetcli /iscsi/iqn.2023-04.com.example:storage.target01/tpg1/luns create /backstores/block/iscsi_store sudo targetcli /iscsi/iqn.2023-04.com.example:storage.target01/tpg1/acls create iqn.2023-04.com.example:storage.initiator01
target 서비스 시작 및 부팅 시 자동 시작 설정 sudo systemctl start target sudo systemctl enable target
iSCSI 연결 설정 sudo iscsiadm -m discovery -t st -p 127.0.0.1 sudo iscsiadm -m node -T iqn.2023-04.com.example:storage.target01 -p 127.0.0.1:3260 -l
마운트 디렉토리 생성 및 마운트 sudo mkdir /mnt/data sudo mount /dev/sdb1 /mnt/data
fstab 설정 echo "/dev/sdb1 /mnt/data xfs _netdev 0 0" | sudo tee -a /etc/fstab
client
iSCSI initiator utils 설치 yum install -y iscsi-initiator-utils
initiator 이름 설정 echo "InitiatorName=iqn.mydisk.com:storage.disk1" > /etc/iscsi/initiatorname.iscsi
iscsid 서비스 시작 systemctl start iscsid
타겟 검색 iscsiadm -m discovery -t sendtargets -p ${ISCSI_SERVER_IP}
타겟 로그인 iscsiadm -m node -T ${IQN_NAME} -p ${ISCSI_SERVER_IP}:3260,1 --login
세션 정보 확인 iscsiadm -m session -o show
ISO 이미지 생성
mkisofs -o test.iso /mnt
mount -t iso9660 -o loop test.iso /mnt => iso를 마운트 할때
Mold 이미지> ISO > ISO 등록
가상머신에 iso 연결 후 콘솔접속
mkdir /iso
mount /dev/cdrom /iso => 연결된 iso 이미지는 가상머신의 /dev/cdrom 으로 연결됨
현재 추가된 물리 디스크 용량(GB)
fdisk -l | grep 'Disk /dev/sd[b-z]' | awk '{ sub(/,/,""); sum +=$5;} END { print sum/1024/1024/1024 }'
또는
lsblk -o NAME,SIZE | egrep sd[b-z]
NIC 이름
NIC_NAME="ens3"
파일 수정 echo "NAME=$NIC_NAME" > /etc/sysconfig/network-scripts/ifcfg-$NIC_NAME echo "IPADDR=10.10.254.117" >> /etc/sysconfig/network-scripts/ifcfg-$NIC_NAME echo "PREFIX=16" >> /etc/sysconfig/network-scripts/ifcfg-$NIC_NAME echo "GATEWAY=10.10.0.1" >> /etc/sysconfig/network-scripts/ifcfg-$NIC_NAME echo "DNS1=8.8.8.8" >> /etc/sysconfig/network-scripts/ifcfg-$NIC_NAME echo "ONBOOT=yes" >> /etc/sysconfig/network-scripts/ifcfg-$NIC_NAME echo "TYPE=Ethernet" >> /etc/sysconfig/network-scripts/ifcfg-$NIC_NAME echo "BOOTPROTO=static" >> /etc/sysconfig/network-scripts/ifcfg-$NIC_NAME echo "DEVICE=$NIC_NAME" >> /etc/sysconfig/network-scripts/ifcfg-$NIC_NAME
NetworkManager 재시작 systemctl restart NetworkManager
# df -h
# lsblk (새로 추가된 디스크 확인)
# fdisk /dev/sdb
=> n, 엔터, 엔터, 엔터, 엔터, 엔터, t, 8e, w
# pvdisplay
# pvcreate /dev/sdb1
# vgcreate able /dev/sdb1
# vgdisplay
# lvcreate -l 100%FREE -n lv_data able
# lvdisplay
# mkfs.xfs /dev/able/lv_data
# mkdir /mnt/share
# mount /dev/able/lv_data /mnt/share
# vi /etc/fstab
/dev/able/lv_data /mnt/share xfs defaults 1 2
or
# echo "/dev/able/lv_data /mnt/share xfs defaults 1 2" >> /etc/fstab
# df -h (마운트 확인)
# fdisk /dev/sdc
=> n, 엔터, 엔터, 엔터, 엔터, 엔터, t, 8e, w
# fdisk -l
# vgextend able /dev/sdc1
# lvextend -l +100%FREE /dev/able/lv_data
# xfs_growfs /dev/mapper/able-lv_data