์ด ๊ธฐ์ฌ์์๋ ์ต๊ทผ VPS ํด๋ผ์ฐ๋์ ์๋ฒ ์ค ํ๋์์ ๋ฐ์ํ ์ํฉ์ ๋ํด ์ด์ผ๊ธฐํ๊ฒ ์ต๋๋ค. ์ด๋ก ์ธํด ๋ช ์๊ฐ ๋์ ๋นํฉํ๊ฒ ๋์์ต๋๋ค. ๋๋ ์ฝ 15๋ โโ๋์ Linux ์๋ฒ๋ฅผ ๊ตฌ์ฑํ๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ์์ง๋ง ์ด ์ฌ๋ก๋ ๋ด ์ค๋ฌด์ ์ ํ ๋ง์ง ์์ต๋๋ค. ๋ฌธ์ ์ ์์ธ์ ์ ํํ๊ฒ ํ์ ํ๊ณ ํด๊ฒฐํ ์ ์๊ธฐ ์ ์ ๋ช ๊ฐ์ง ์๋ชป๋ ๊ฐ์ ์ ํ๊ณ ์ฝ๊ฐ์ ์ ๋ง์ ๋น ์ก์ต๋๋ค. .
์๋ฌธ
์ฐ๋ฆฌ๋ 32๊ฐ ์ฝ์ด, 256GB RAM ๋ฐ 4500TB PCI-E Intel P4 NVMe ๋๋ผ์ด๋ธ ๊ตฌ์ฑ์ ๊ฐ์ถ ํ์ค ์๋ฒ์ ๊ตฌ์ถ๋ ์ค๊ฐ ๊ท๋ชจ์ ํด๋ผ์ฐ๋๋ฅผ ์ด์ํ๊ณ ์์ต๋๋ค. VM ์ธ์คํด์ค ์ ํ ์์ค์์ ์ฌ๋ฐ๋ฅธ ์ ํ์ ์ ๊ณตํจ์ผ๋ก์จ IO ์ค๋ฒํค๋์ ๋ํด ๊ฑฑ์ ํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ด ๊ตฌ์ฑ์ด ์ ๋ง ๋ง์์ ๋ญ๋๋ค. NVMe ์ธํ
์ด๊ธฐ ๋๋ฌธ์
์ฐ๋ฆฌ๋ VM ๋ณผ๋ฅจ์ ์ ์ฅํ๊ธฐ ์ํด ํ์ดํผ์ปจ๋ฒ์ง๋ SDN ๋ฐ ๊ธฐํ ์ธ๋ จ๋๊ณ ํจ์ ๋๋ธํ ์ ์ ์ ํ์ ์ฌ์ฉํ์ง ์๋ ์ค๋๋ ์ ๋ด์ ์ค ํ๋์ ๋๋ค. ์์คํ ์ด ๋จ์ํ ์๋ก "์ฃผ์ ์ ๋ฌธ๊ฐ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค"๋ผ๋ ์กฐ๊ฑด์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด ๋ ์ฝ๋ค๊ณ ๋ฏฟ์ต๋๋ค. ์ฐ์ผ๋ก.โ ๊ฒฐ๊ณผ์ ์ผ๋ก ์ฐ๋ฆฌ๋ LVM2 ์์ ๋ฐฐํฌ๋๋ XFS ๋๋ EXT4์ QCOW2 ํ์์ผ๋ก VM ๋ณผ๋ฅจ์ ์ ์ฅํฉ๋๋ค.
๋ํ ์ค์ผ์คํธ๋ ์ด์ ์ ์ฌ์ฉํ๋ ์ ํ์ธ Apache CloudStack์ ์ํด QCOW2๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๋ฐฑ์
์ ์ํํ๊ธฐ ์ํด ๋ณผ๋ฅจ์ ์ ์ฒด ์ด๋ฏธ์ง๋ฅผ LVM2 ์ค๋
์ท์ผ๋ก ๋ง๋ญ๋๋ค(์, LVM2 ์ค๋
์ท์ด ๋๋ฆฌ๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ์ฌ๊ธฐ์๋ Intel P4500์ด ๋์์ด ๋ฉ๋๋ค). ์ฐ๋ฆฌ๋ํ๋ค lvmcreate -s ..
๊ทธ๋ฆฌ๊ณ ๋์์ผ๋ก dd
ZFS ์ ์ฅ์๊ฐ ์๋ ์๊ฒฉ ์๋ฒ๋ก ๋ฐฑ์
๋ณต์ฌ๋ณธ์ ๋ณด๋
๋๋ค. ์ฌ๊ธฐ์๋ ์ฌ์ ํ ์ฝ๊ฐ ์ง๋ณด์ ์
๋๋ค. ๊ฒฐ๊ตญ ZFS๋ ๋ฐ์ดํฐ๋ฅผ ์์ถ ํ์์ผ๋ก ์ ์ฅํ ์ ์์ผ๋ฉฐ ๋ค์์ ์ฌ์ฉํ์ฌ ์ ์ํ๊ฒ ๋ณต์ํ ์ ์์ต๋๋ค. DD
๋๋ ๋ค์์ ์ฌ์ฉํ์ฌ ๊ฐ๋ณ VM ๋ณผ๋ฅจ์ ์ป์ต๋๋ค. mount -o loop ...
.
๋ฌผ๋ก LVM2 ๋ณผ๋ฅจ์ ์ ์ฒด ์ด๋ฏธ์ง๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์ด ์๋๋ผ ํ์ผ ์์คํ ์ ๋ค์ ์์น์ ๋ง์ดํธํ ์ ์์ต๋๋ค.
RO
QCOW2 ์ด๋ฏธ์ง ์์ฒด๋ฅผ ๋ณต์ฌํ์ง๋ง ์ด๋ก ์ธํด XFS๊ฐ ์ฆ๊ฐ์ ์ด์ง๋ ์์ง๋ง ์์ธกํ ์ ์๋ ๋ฐฉ์์ผ๋ก ๋๋น ์ก๋ค๋ ์ฌ์ค์ ์ง๋ฉดํ์ต๋๋ค. ํ์ดํผ๋ฐ์ด์ ํธ์คํธ๊ฐ ์ฃผ๋ง, ๋ฐค ๋๋ ๊ณตํด์ผ์ ์ธ์ ๋ฐ์ํ๋์ง ๋ช ํํ์ง ์์ ์ค๋ฅ๋ก ์ธํด ๊ฐ์๊ธฐ "๊ณ ์ฐฉ"๋๋ ๊ฒ์ ์ ๋ง ์ข์ํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ XFS์ ๊ฒฝ์ฐ ์ค๋ ์ท ๋ง์ดํธ๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค.RO
๋ณผ๋ฅจ์ ์ถ์ถํ๋ ค๋ฉด ์ ์ฒด LVM2 ๋ณผ๋ฅจ์ ๋ณต์ฌํ๋ฉด ๋ฉ๋๋ค.
์ฐ๋ฆฌ์ ๊ฒฝ์ฐ ๋ฐฑ์ ์๋ฒ๋ก์ ๋ฐฑ์ ์๋๋ ๋ฐฑ์ ์๋ฒ์ ์ฑ๋ฅ์ ๋ฐ๋ผ ๊ฒฐ์ ๋๋ฉฐ, ์์ถํ ์ ์๋ ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ ์ฝ 600-800MB/s์ ๋๋ค. ์ถ๊ฐ ์ ํ์ ๋ฐฑ์ ์๋ฒ๊ฐ ์ฐ๊ฒฐ๋๋ 10Gbit/s ์ฑ๋์ ๋๋ค. ํด๋ฌ์คํฐ์.
์ด ๊ฒฝ์ฐ 8๊ฐ์ ํ์ดํผ๋ฐ์ด์ ์๋ฒ์ ๋ฐฑ์ ๋ณต์ฌ๋ณธ์ด ํ๋์ ๋ฐฑ์ ์๋ฒ์ ๋์์ ์ ๋ก๋๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋ฐฑ์ ์๋ฒ์ ๋์คํฌ ๋ฐ ๋คํธ์ํฌ ํ์ ์์คํ ์ ์๋๊ฐ ๋๋ ค ํ์ดํผ๋ฐ์ด์ ํธ์คํธ์ ๋์คํฌ ํ์ ์์คํ ์ด ๊ณผ๋ถํ๋๋ ๊ฒ์ ํ์ฉํ์ง ์์ต๋๋ค. ์ด๋ ํ์ดํผ๋ฐ์ด์ ํธ์คํธ๊ฐ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ 8GB/์ด๋ฅผ ์ฒ๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์์ฐํ๋ค.
์์ ๋ณต์ฌ ํ๋ก์ธ์ค๋ ๋น ๋ฅธ Intel P4500 ๋๋ผ์ด๋ธ ์ฌ์ฉ, NFS ์ฌ์ฉ ๋ฐ ์๋ง๋ ZFS ์ฌ์ฉ ๋ฑ ์ธ๋ถ ์ฌํญ์ ํฌํจํ์ฌ ์ถ๊ฐ ์ด์ผ๊ธฐ์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
๋ฐฑ์ ์คํ ๋ฆฌ
๊ฐ ํ์ดํผ๋ฐ์ด์ ๋
ธ๋์๋ 8GB ํฌ๊ธฐ์ ์์ SWAP ํํฐ์
์ด ์์ผ๋ฉฐ ๋ค์์ ์ฌ์ฉํ์ฌ ํ์ดํผ๋ฐ์ด์ ๋
ธ๋ ์์ฒด๋ฅผ "๋กค์์"ํฉ๋๋ค. DD
์ฐธ์กฐ ์ด๋ฏธ์ง์์. ์๋ฒ์ ์์คํ
๋ณผ๋ฅจ์ ๊ฒฝ์ฐ LSI ๋๋ HP ํ๋์จ์ด ์ปจํธ๋กค๋ฌ์์ 2xSATA SSD RAID1 ๋๋ 2xSAS HDD RAID1์ ์ฌ์ฉํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์์คํ
๋ณผ๋ฅจ์ SWAP๋ฅผ ์ ์ธํ๊ณ "๊ฑฐ์ ์ฝ๊ธฐ ์ ์ฉ" ๋ชจ๋๋ก ์๋ํ๋ฏ๋ก ๋ด๋ถ ๋ด์ฉ์๋ ์ ํ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ฒ์ ๋ง์ RAM์ด ์๊ณ 30~40%์ ์ฌ์ ๊ณต๊ฐ์ด ์๊ธฐ ๋๋ฌธ์ SWAP์ ๋ํด์๋ ์๊ฐํ์ง ์์ต๋๋ค.
๋ฐฑ์ ํ๋ก์ธ์ค. ์ด ์์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
#!/bin/bash
mkdir -p /mnt/backups/volumes
DIR=/mnt/images-snap
VOL=images/volume
DATE=$(date "+%d")
HOSTNAME=$(hostname)
lvcreate -s -n $VOL-snap -l100%FREE $VOL
ionice -c3 dd iflag=direct if=/dev/$VOL-snap bs=1M of=/mnt/backups/volumes/$HOSTNAME-$DATE.raw
lvremove -f $VOL-snap
์ฃผ์๋ฅผ ๊ธฐ์ธ์ด์ญ์์ค. ionice -c3
, ์ค์ ๋ก NVMe ์ฅ์น์ ๋ํ IO ์ค์ผ์ค๋ฌ๊ฐ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ์์ ํ ์ธ๋ชจ๊ฐ ์์ต๋๋ค.
cat /sys/block/nvme0n1/queue/scheduler
[none]
๊ทธ๋ฌ๋ ๊ธฐ์กด SSD RAID๋ฅผ ์ฌ์ฉํ๋ ๋ ๊ฑฐ์ ๋
ธ๋๊ฐ ๋ง์ด ์์ผ๋ฏ๋ก ์ด๋ ๊ด๋ จ์ด ์์ผ๋ฏ๋ก ์ด๋ ์ค์
๋๋ค. ๊ทธ๋๋ก. ์ ๋ฐ์ ์ผ๋ก ์ด๊ฒ์ ๋ฌด์ตํจ์ ์ค๋ช
ํ๋ ํฅ๋ฏธ๋ก์ด ์ฝ๋ ์กฐ๊ฐ์
๋๋ค. ionice
๊ทธ๋ฌํ ๊ตฌ์ฑ์ ๊ฒฝ์ฐ.
๊น๋ฐ์ ์ฃผ์ํ์ธ์ iflag=direct
์ DD
. ์ฐ๋ฆฌ๋ ์ฝ์ ๋ ๋ถํ์ํ IO ๋ฒํผ ๊ต์ฒด๋ฅผ ํผํ๊ธฐ ์ํด ๋ฒํผ ์บ์๋ฅผ ์ฐํํ๋ ์ง์ IO๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํ์ง๋ง, oflag=direct
ZFS๋ฅผ ์ฌ์ฉํ ๋ ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ์ง ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ด ๊ณํ์ ๋ช ๋ ๋์ ๋ฌธ์ ์์ด ์ฑ๊ณต์ ์ผ๋ก ์ฌ์ฉํด ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์์๋์ด... ์ฐ๋ฆฌ๋ ๋ ธ๋ ์ค ํ๋๊ฐ ๋ ์ด์ ๋ฐฑ์ ๋์ง ์๊ณ ์ด์ ๋ ธ๋๊ฐ 50%๋ผ๋ ์์ฒญ๋ IOWAIT๋ก ์คํ๋๊ณ ์์์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๋ณต์ฌ๊ฐ ๋ฐ์ํ์ง ์๋ ์ด์ ๋ฅผ ์ดํดํ๋ ค๊ณ ํ ๋ ๋ค์ ํ์์ด ๋ฐ์ํ์ต๋๋ค.
Volume group "images" not found
์ฐ๋ฆฌ๋ "Intel P4500์ ์ข ๋ง์ด ์๋ค"๊ณ ์๊ฐํ๊ธฐ ์์ํ์ง๋ง ๋๋ผ์ด๋ธ ๊ต์ฒด๋ฅผ ์ํด ์๋ฒ๋ฅผ ๋๊ธฐ ์ ์ ์ฌ์ ํ ๋ฐฑ์ ์ ์ํํด์ผ ํ์ต๋๋ค. LVM2 ๋ฐฑ์ ์์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ณต์ํ์ฌ LVM2๋ฅผ ์์ ํ์ต๋๋ค.
vgcfgrestore images
์ฐ๋ฆฌ๋ ๋ฐฑ์
์ ์์ํ๊ณ ๋ค์ ์ ํ๋ฅผ ๋ณด์์ต๋๋ค.
๋ค์ ํ ๋ฒ ์ฐ๋ฆฌ๋ ๋งค์ฐ ์ฌํ์ต๋๋ค. ๋ชจ๋ VPS๊ฐ ๊ณ ํต์ ๊ฒช์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ด๋ ๊ฒ ์ด ์ ์๋ค๋ ๊ฒ์ด ๋ถ๋ช
ํ์ต๋๋ค. ์ด๋ ์ฐ๋ฆฌ๋ ๊ณ ํต์ ๊ฒช์ ๊ฒ์์ ์๋ฏธํฉ๋๋ค. ๋ฌด์จ ์ผ์ด ์ผ์ด๋ฌ๋์ง๋ ์์ ํ ๋ถ๋ถ๋ช
ํฉ๋๋ค. iostat
๋ถ์ํ IOPS์ ๊ฐ์ฅ ๋์ IOWAIT๋ฅผ ๋ณด์์ต๋๋ค. โNVMe๋ฅผ ๊ต์ฒดํ์โ๋ ๊ฒ ์ธ์๋ ์์ด๋์ด๊ฐ ์์์ง๋ง, ๋๋ง์นจ ํต์ฐฐ๋ ฅ์ด ๋ ์ฌ๋์ต๋๋ค.
๋จ๊ณ๋ณ๋ก ์ํฉ ๋ถ์
์ญ์ฌ์ก์ง. ๋ฉฐ์น ์ ์ด ์๋ฒ์์๋ 128GB RAM์ ๊ฐ์ถ ๋๊ท๋ชจ VPS๋ฅผ ์์ฑํด์ผ ํ์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ถฉ๋ถํ ๊ฒ ๊ฐ์์ง๋ง ์์ ์ ์ํด ์ค์ ํํฐ์ ์ 32GB๋ฅผ ์ถ๊ฐ๋ก ํ ๋นํ์ต๋๋ค. VPS๊ฐ ์์ฑ๋์ด ์์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋์์ผ๋ฉฐ ์ฌ๊ฑด์ ์ํ์ก์ง๋ง SWAP ํํฐ์ ์ ๊ทธ๋๋ก ๋จ์ ์์ต๋๋ค.
๊ตฌ์ฑ ๊ธฐ๋ฅ. ๋ชจ๋ ํด๋ผ์ฐ๋ ์๋ฒ์ ๋ํด ๋งค๊ฐ๋ณ์ vm.swappiness
๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ๋์ด ์์์ต๋๋ค 60
. ๊ทธ๋ฆฌ๊ณ SWAP์ SAS HDD RAID1์์ ์์ฑ๋์์ต๋๋ค.
๋ฌด์จ ์ผ์ด ์ผ์ด๋ฌ๋์? (ํธ์ง์์ ๋ฐ๋ฅด๋ฉด). ๋ฐฑ์
ํ ๋ DD
NFS์ ์ฐ๊ธฐ ์ ์ RAM ๋ฒํผ์ ๋ฐฐ์น๋ ๋ง์ ์ฐ๊ธฐ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ์ต๋๋ค. ์ ์ฑ
์ ๋ฐ๋ฅธ ์์คํ
์ฝ์ด swappiness
, VPS ๋ฉ๋ชจ๋ฆฌ์ ๋ง์ ํ์ด์ง๋ฅผ ๋๋ฆฐ HDD RAID1 ๋ณผ๋ฅจ์ ์๋ ์ค์ ์์ญ์ผ๋ก ์ด๋ํ๊ณ ์์์ต๋๋ค. ์ด๋ก ์ธํด IOWAIT๊ฐ ๋งค์ฐ ๊ฐํ๊ฒ ์ฑ์ฅํ๊ฒ ๋์์ง๋ง IO NVMe ๋๋ฌธ์ด ์๋๋ผ IO HDD RAID1 ๋๋ฌธ์ด์์ต๋๋ค.
๋ฌธ์ ๊ฐ ์ด๋ป๊ฒ ํด๊ฒฐ๋์๋์?. 32GB ์ค์ ํํฐ์
์ด ๋นํ์ฑํ๋์์ต๋๋ค. ์ด ์์
์๋ 16์๊ฐ์ด ๊ฑธ๋ ธ์ต๋๋ค. SWAP์ด ๊ทธ๋ ๊ฒ ๋๋ฆฌ๊ฒ ๊บผ์ง๋ ์ด์ ์ ๋ฐฉ๋ฒ์ ๋ํด ๋ณ๋๋ก ์ฝ์ ์ ์์ต๋๋ค. ์ค์ ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. swappiness
๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก 5
ํด๋ผ์ฐ๋ ์ ์ฒด์์.
์ด๋ป๊ฒ ์ด๋ฐ ์ผ์ด ์ผ์ด๋ ์ ์์ต๋๊น?. ์ฒซ์งธ, SWAP๊ฐ SSD RAID ๋๋ NVMe ์ฅ์น์ ์๋ ๊ฒฝ์ฐ, ๋์งธ, NVMe ์ฅ์น๋ ์์ง๋ง ์ด๋ฌํ ์์ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ์ง ์๋ ๋๋ฆฐ ์ฅ์น์ธ ๊ฒฝ์ฐ ์์ด๋ฌ๋ํ๊ฒ๋ ํด๋น NVMe๊ฐ ๋๋ฌด ๋น ๋ฅด๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
๊ทธ ํ ๋ชจ๋ ๊ฒ์ด IOWAIT ์์ด ์ด์ ์ฒ๋ผ ์๋ํ๊ธฐ ์์ํ์ต๋๋ค.
์ถ์ฒ : habr.com