가상화 + 네트워크 관련 문의드립니다

   조회 1129   추천 0    

현재 Proxmox 가상화 사용해서, 여러 VM을 돌리고 있습니다.


Proxmox 노드는 총 8대, 그 위에 DB를 돌리기도하고 웹을 돌리기도 합니다.


각 노드마다 ZFS를 연결해서 사용하고 있는데 몇몇 문제가 많더군요.




ZFS 사양은 NVMe(ZLOG, L2ARC) + SSD(L2ARC) + HDD(RAIDZ1 == RAID5)로 연결해서 사용하고 있는데...


1. 전체 DB를 colscan하거나 하면, 결국 속도는 HDD에 Bounce됨. --> 각 노드간 최대 Bounce되는 속도가 차이남.


2. 최종적으로는 모든 Data가 HDD에 적히게 되는데... HDD에서 Read / Write가 Mixed되면서 속도가 너무 느림. (각 노드마다 hdd를 많이 붙여야.. Bounce 되는 성능을 높일 수 있음)


3. 노드의 사양(HDD 베이가 몇개인가)에 따라, 각 노드별 최대 용량이 정해져있음.



그래서, ZFS가 아닌 다른 방법을 찾고 있습니다.


1. 하나의 서버를 NAS처럼 사용하는 방식. 모든 HDD를 RAID 묶어서 Bounce되는 속도 / 용량을 올리기. (nas 는 40G, Node는 10G로 사용)

- NAS로 쓸 경우, ZFS를 통해 L2ARC, ZIL 사용 예정. 


2. Ceph 스토리지를 구축하는 방법 (모두다 10G로 연결되는 방법)


어떤 것이 좋을까요?


우문현답 감사합ㄴ디ㅏ.

박문형 09-16
저는 잘모르지만

혹시 NAS장비가 필요한 것이면 안써보셨다면

https://www.truenas.com/

검토해보세요..
proxmox 노드가 8대면 어마어마 하시겠네요.

제 경우는 스토리지 서버와 백업서버는 os단만 ssd 구성후 그냥 스토리지 서버는 raid10, 백업서버는 raid5 로 운영중 입니다.

서비스하는 서버만 hdd를 zfs 로 구성해서 사용중인데, 저번에 백업속도를 높이고자 10g 달고도 측정해봤지만, hdd 속도때문에 그닥 큰효과를 못봤습니다.

그런데 대역폭을 2배로 늘리고나니,4~6개의 vm 이 동시에 백업을 해도 버벅임은 좀 줄어든것 같습니다.

코딩보몬님도 일단 대역폭을 한번 늘려보시면 어떨까요
epowergate 09-17
Ceph는 관리할 자신 있을때만 사용하세요
sayanova 09-24
8개 노드 정도면 ceph사용은 충분히 가능하긴 합니다. 10G로 업그레이드는 무엇을 택하든 필수로 보이고요. 다만 저는 컴퓨팅 노드와 스토리지 노드는 분리하는게 맞다고 보기 때문에 zfs를 추천드릴 것 같습니다. 물론 ceph가 나쁘다는 것은 아니지만요. n장의 하드디스크 Ceph OSD와 1 NVME 블루스토어면 훌륭한 Ceph 시스템이 당연히 가능하겠지만, 가상화를 위한 컴퓨팅 리소스를 많이 뺏지는 않을까 우려도 됩니다. ZFS 솔루션은 위에서 추천해주신 Truenas를 사용하시면 될 것 같습니다.

그런데 현재 상태를 보면 각 노드별로 zfs를 구축하셨다고 하셨는데, raidz를 하면 랜덤 io수치가 하드 1개분량밖에 나오지 않는 구조입니다. 이건 L2ARC와 SLOG를 활용한다 해도 크게 다르지 않을겁니다. 결국 메인 스토리지는 raidz고, 이는 순차속도가 잘 나오기 위한 구성이기 때문에 가상머신을 위한 블록스토리지를 위해서는 추천드리지 않습니다. zfs에서 가상머신을 위한 블록스토리지를 위해서는 striped mirror의 활용이 [필수적]입니다. 다만 이 경우 중앙집적적인 시스템을 구축하는게 당연히 성능이 잘 나오겠지요. 하드가 총 몇장인지는 모르겠지만 대략 노드당 5장이라고 가정시, 총 40장의 디스크를 하나의 zfs 시스템에서 striped mirror로 구성하면 읽기에서는 하드 40장분의 랜덤 읽기 성능, 쓰기에서는 20장 분의 랜덤 쓰기 성능이 활용 가능하겠네요.

 L2ARC는 충분한 양의 활성데이터가 있지 않으면 큰의미가 없습니다. 그리고 그게 ARC, 즉 램일 경우 더 낫습니다. 32G정도의 ARC를 가진 상태에서 L2ARC를 만드셨다면, L2ARC 페이징을 위한 램 용량만 잡아먹을 뿐이고 실질적인 활용이 되지 않으실겁니다. 저같으면 이정도 규모에선 ZFS 시스템이 램 256기가를 넘지 않는다면 L2ARC의 사용을 고려하지 않을 것 같습니다. 만약 구축하신다면 램 용량의 4~8배 정도의 용량만 가지면 되고, 그 이상은 보통 ARC를 위한 용량이 지나치게 줄어드는 결과를 가지고 옵니다.

SLOG는 이왕이면 옵테인급의 NVME 혹은 RMS-200/8G나 NV-1616같은 배터리 백업 RAM드라이브 NVME(보통 이베이에서 200달러 내로 구할 수 있음)를 추천드립니다. Xeon Scalable 이상의 시스템이라면 NVDIMM도 있겠네요. SLOG 8장을 나눠서 보유하는 것보다, SLOG에 중요한 랜덤쓰기 능력과 저지연을 동시에 갖춘 디스크 하나를 확실히 보유하는 것이 좋습니다. 용량은 크게 중요하지 않습니다. SLOG는 어차피 5초간의 기록시간을 갖추면 되기 때문에(이것도 내부 옵션을 통해 용량이 부족할 경우 1초 등으로 조절하실 수 있습니다. 용량이 큰 SLOG의 경우 더 높은 수치를 설정한다면 쓰기 퍼포먼스가 올라갈 겁니다), 만약 10G LACP의 경우 2GB/s*5s=약 10기가 정도의 용량만 필요하기 때문입니다. 요샌 SLOG가 깨져도 풀 전체가 죽거나 하지는 않으니, SLOG는 미러링하실 필요가 없습니다. 풀 당 단 1개만 가지고 있으시면 됩니다.

종합적으로, 제 생각을 말씀드리겠습니다. 현재 가지고 있는 스토리지 자원이 노드별 하드 n장, NVME L2ARC 및 SLOG라고 가정시, 8개의 노드에 있는 L2ARC용 NVME로 대신 Proxmox를 위한 block storage용 zfs풀을 만들고(NVME는 블록스토리지를 위한 충분한 랜덤IO를 가지고 있기 때문에 striped mirror를 굳이 하실 필요는 없을 것 같습니다.), 하드 역시 전부 모아 x* 8disk raidz2의 풀(raid60을 생각하면 편하실 겁니다)를 만드시는게 좋은 것 같습니다. 이렇게 별도의 풀 2개를 활용하실 경우 VM에서 OS영역은 NVME 풀에서 ISCSI로 제공을 하고, 각종 공유 데이터를 하드디스크 풀에서 SMB등으로 뿌릴 수 있을 것 같습니다. 활용방안에 따라선 하드디스크의 striped mirror로 db 데이터베이스의 구축을 따로 하는 방법도 있을 것 같고요. TrueNAS에서는 Jail, 혹은 Container(Debian 기반 SCLAE)을 통해 자체 DB서버를 구축하실 수도 있습니다. 그리고 DB의 경우에서는 보통 striped mirror를 갖추시는게 좋습니다. 이 경우 Pool이 2개가 되므로 SLOG는 2장이 필요할 것 같습니다.

네트워킹은 어차피 업데이트를 마음먹으셨다면 zfs에서의 업로드 40G*2 LACP, 그리고 Proxmox 노드로의 10G*2 LACP를 추천드립니다. 어차피 Ceph를 써도 ZFS를 써도 네트워크가 병목이 될 것 같습니다. 이정도면 Mikrorik CRS328-24S+-4Q같은 스위치로 커버가 가능할 것 같네요.
     
코딩보몬 09-26
와... 심도있는 답변 감사합니다.

말씀해주신 내용 쪽으로 많이 생각을 해보겠습니다.

참... 작은 소규모로 할때는 100MB 200MB가 참 크게 느껴졌는데, 이제는 100GB, 200GB... 더 나아가서는 TB까지 쉽게쉽게 말이 나오는걸 보니... 신기하네요 ㅎㅎ

말씀해주신 내용 마음에 새기고, 구현해보겠습니다.

감사합니다.




제목Page 38/75
2018-08   3946   얇은하마
2018-08   3933   재마
2018-08   6676   재마
2018-08   6170   쿨파스
2018-08   5833   리얼메카
2018-08   5341   회원K
2018-08   4237   회원K
2018-08   7266   회원K
2018-08   6369   크리보
2018-08   2929   그냥중
2018-08   4285   홈서버가동중
2018-08   3771   재마
2018-08   4107   오한량
2018-08   4412   회원K
2018-08   5963   탱쟈가라사대
2018-08   5052   오한량
2018-08   4644   스린
2018-08   7253   민달팽이
2018-07   5583   민달팽이
2018-07   8385   Galvanizer