๐ข ํผ๋ธ๋ฆญ ํ๋ฆฌ๋ทฐ: FUSE ๊ธฐ๋ฐ BlobNFS ์ฑ๋ฅ ๋ฐ ํ์ฅ์ฑ ํฅ์
์์ฑ์ : niranja1890
์๋ณธ : [Public Preview] Accelerating BlobNFS throughput & scale with FUSE for superior performance
Azure Blob Storage๋ BlobFuse๋ฅผ ํตํด ๋ก์ปฌ ํ์ผ ์์คํ ์ฒ๋ผ ๋ง์ดํธํ๊ณ ์ ๊ทผํ ์ ์์ต๋๋ค. BlobFuse๋ Blob REST API๋ฅผ ์ํ FUSE ๊ธฐ๋ฐ ๋๋ผ์ด๋ฒ๋ก, AI/ML, HPC, ๋ถ์, ๋ฐฑ์ ์ํฌ๋ก๋์ ์ ํฉํ ๋์ ์ฒ๋ฆฌ๋๊ณผ ๋ก์ปฌ ์บ์ฑ, Azure Entra ID๋ฅผ ํตํ ๋ณด์ ํตํฉ ๋ฑ์ ์ฅ์ ์ ์ ๊ณตํฉ๋๋ค.
NFS 3.0 ํ๋กํ ์ฝ ์ง์ ๋๋ POSIX ์ค์๊ฐ ํ์ํ ๊ณ ๊ฐ์ ์ํด, Azure Blob Storage๋ NFSv3(์ผ๋ช BlobNFS)๋ฅผ ๋ค์ดํฐ๋ธ๋ก๋ ์ง์ํฉ๋๋ค. ์ด๋ ๊ณ ๊ฐ์ ๋ ๊ฑฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ณ๊ฒฝ ์์ด Azure Blob Storage์ ์ ๊ทผํ ์ ์๋๋ก ํด์ค๋๋ค. BlobNFS๋ Linux NFS ํด๋ผ์ด์ธํธ์ ๋น์ฌ์ AZNFS ๋ง์ดํธ ํฌํผ ํจํค์ง๋ฅผ ๊ฒฐํฉํ์ฌ ์ ๊ทผ๋๋ฉฐ, ์ด๋ Blob Storage์ NFS ์๋ํฌ์ธํธ์ ๋ง์ดํธํ๊ณ ์์ ์ ์ผ๋ก ์ฐ๊ฒฐํ๋ ๊ณผ์ ์ ๊ฐ์ํํฉ๋๋ค. BlobNFS๋ NFS 3.0์์ Azure Entra ID ๊ธฐ๋ฐ ์ธ์ฆ์ด ์์ง ์ ๊ณต๋์ง ์๊ธฐ ๋๋ฌธ์, BlobNFS๋ ๊ฐ์ ๋คํธ์ํฌ๋ฅผ ํตํ ์ ๊ทผ๋ง ์ง์ํ๋ค๋ ์ ์ ์ ์ํ์๊ธฐ ๋ฐ๋๋๋ค.
์ค๋ BlobNFS์ฉ AZNFS(3.0)์ ์๋ก์ด ์ ๋ฐ์ดํธ๊ฐ ๊ณต๊ฐ๋์์ต๋๋ค. ์ด์ BlobFuse๋ฅผ ๊ตฌ๋ํ๋ ๊ฒ๊ณผ ๋์ผํ libfuse3 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ, ์ฑ๋ฅ๊ณผ ํ์ฅ์ฑ ๋ฉด์์ ์๋นํ ๊ฐ์ ์ด ์ด๋ฃจ์ด์ก์ต๋๋ค. ์ ๋ฐ์ดํธ๋ BlobNFS์ฉ AZNFS๋ ํจ์ฌ ๋ ๋์ ์ฒ๋ฆฌ๋, ๋ ํฐ ํ์ผ ์ง์, ํฅ์๋ ๋ฉํ๋ฐ์ดํฐ ์ฑ๋ฅ, ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ์ ๊ทธ๋ฃน ์ ํ ์ ๊ฑฐ๋ฅผ ์ ๊ณตํ์ฌ, ๋์ ์ฑ๋ฅ์ ์๊ตฌํ๋ ์ํฌ๋ก๋์ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค.
- โก ๊ฐ์ ๋จธ์ ์ฒ๋ฆฌ๋ ๊ทน๋ํ: AZNFS๋ ์ด์ ์ต๋ 256๊ฐ์ TCP ์ฐ๊ฒฐ(๊ธฐ์กด ๋ค์ดํฐ๋ธ NFS ํด๋ผ์ด์ธํธ์์๋ 16๊ฐ)์ ์ง์ํฉ๋๋ค . ์ด๋ฅผ ํตํด ์ฒ๋ฆฌ๋์ด VM NIC ๋์ญํญ(๊ฐ์ ๋จธ์ ์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค ์นด๋๊ฐ ์ ๊ณตํ๋ ์ต๋ ๋ฐ์ดํฐ ์ ์ก ์๋) ๋๋ Storage account๊ฐ ์ ๊ณตํ๋ ์ต๋ ํ๋๊น์ง ๋๋ฌํ ์ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ HPC ์ํฌ๋ก๋์ ์ ๋ฆฌํ๋ฉฐ, ๋์ฉ๋ ๋ฐ์ดํฐ์ ์์ ์ ๋์ ์ฒ๋ฆฌ๋์ ๋ณด์ฅํฉ๋๋ค. ๋ํ, ์์์ ๋ณ๋ ฌ ํ์ผ ์ฝ๊ธฐ/์ฐ๊ธฐ ์์ (4๊ฐ ์ดํ)๋ง์ผ๋ก๋, VM NIC ๋์ญํญ์ ์์ ํ ํฌํ์ํฌ ์ ์์ผ๋ฉฐ, ์ด๋ ๋ ํฐ VM ์ฌ์ด์ฆ์์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
- โก ํฅ์๋ ์ฝ๊ธฐ/์ฐ๊ธฐ ์๋: ์ ๋ฐ์ดํธ๋ AZNFS ํด๋ผ์ด์ธํธ๋ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ์๋๋ฆฌ์ค์์ ๋ค์ดํฐ๋ธ NFS ํด๋ผ์ด์ธํธ๋ณด๋ค ๋ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋จ์ผ ํ์ผ ์ฝ๊ธฐ/์ฐ๊ธฐ ์ฑ๋ฅ์ ๊ฐ๊ฐ 5๋ฐฐ ๋ฐ 3๋ฐฐ ํฅ์๋์์ผ๋ฉฐ, ์ด๋ ๋ฐฑ์ ํ์ผ์ ์ฝ๊ณ ์ฐ๋ ๋ฐ ๋์ ๋จ์ผ ํ์ผ ์ฒ๋ฆฌ๋์ด ์๊ตฌ๋๋ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฑ์ ์์ ์ ์ ์ฉํ ์ ์์ต๋๋ค. ์์ธํ ์ฑ๋ฅ ๋น๊ต๋ ๋งํฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
- ๐ซ ์ฌ์ฉ์ ๊ทธ๋ฃน ์ ํ ์ ๊ฑฐ: ๋ก์ปฌ ์ธ์ฆ ์๋ฒ๋ฅผ ์ฌ์ฉํ๋ Linux NFS ํด๋ผ์ด์ธํธ๋ ์ฌ์ฉ์์ ์ต๋ 16๊ฐ ๊ทธ๋ฃน์ ๋ํ ์ ๊ทผ ๊ถํ๋ง ์ ๋ฌํ ์ ์์ผ๋ฉฐ, ์ด๋ 16๊ฐ๋ฅผ ์ด๊ณผํ๋ ๊ทธ๋ฃน์ ์ํ ์ฌ์ฉ์์ ๋ฆฌ์์ค ์ ๊ทผ์ ์ ํํฉ๋๋ค. ์ด๋ฒ ์ ๋ฐ์ดํธ๋ฅผ ํตํด FUSE๊ฐ ๊ถํ ๊ฒ์ฌ๋ฅผ ์ฒ๋ฆฌํ๊ฒ ๋์ด, 16๊ฐ ๊ทธ๋ฃน ์ ํ์ด ์ฌ๋ผ์ก์ต๋๋ค.
- ๐ ๋ฉํ๋ฐ์ดํฐ ์ฟผ๋ฆฌ ์ฑ๋ฅ ํฅ์: READDIR์ ์ด์ ํ ๋ฒ์ ํธ์ถ๋ก ๋ ๋ง์ ๋๋ ํฐ๋ฆฌ ํญ๋ชฉ์ ์ฟผ๋ฆฌํ ์ ์์ต๋๋ค. Linux ํด๋ผ์ด์ธํธ๋ 1MB์ ์ ํ์ด ์๋ ๋ฐ๋ฉด, ์ ๋ฐ์ดํธ๋ AZNFS๋ ์ด์ ์ต๋ 3MB๊น์ง ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ์ผ์ด ๋ง์ ๊ณ ๊ฐ์ ๋ ๋น ๋ฅธ ๋ชฉ๋ก ์กฐํ ๋ฐ ๋ฉํ๋ฐ์ดํฐ ์์ ์ ํ์ฉํ ์ ์์ผ๋ฉฐ, ์ง์ฐ ์๊ฐ์ด ์ค์ด๋ค๊ฒ ๋ฉ๋๋ค. ์ด๋ ์ฒ๋ฆฌ ์ ์ ๋ง์ ์์ ํ์ผ์ ๋ํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์์ ์ด ํ์๋ก ํ๋ EDA(์ ์ ์ค๊ณ ์๋ํ) ๋ฐ HPC(๊ณ ์ฑ๋ฅ ์ปดํจํ ) ์ํฌ๋ก๋์ ์ ์ฉํฉ๋๋ค.
- ๐๏ธ ๋์ฉ๋ ํ์ผ ํฌ๊ธฐ ์ง์ (์ต๋ 5TB): ์ด๋ฒ ๋ฆด๋ฆฌ์ค๋ฅผ ํตํด ์์ฐจ์ ์ฐ๊ธฐ ํจํด์ ๋ํด ๋ ํฐ ํ์ผ ํฌ๊ธฐ๋ฅผ ์ง์ํ ์ ์๊ฒ ๋์์ต๋๋ค. AZNFS์์ ๋ ํฐ ๋ธ๋ก ํฌ๊ธฐ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋จ์ ๋ฐ๋ผ, ์ฌ์ฉ์๋ ์ต๋ 5TB๊น์ง์ ๋์ฉ๋ ํ์ผ์ ์์ฑํ ์ ์์ต๋๋ค. Linux ํด๋ผ์ด์ธํธ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, ์ต์ ์ ์กฐ๊ฑด์์๋ ์ต๋ ํ์ผ ํฌ๊ธฐ๋ ์ฝ 3TB๋ก ์ ํ๋์์ต๋๋ค. 3TB๋ฅผ ์ด๊ณผํ๋ ์๋ฎฌ๋ ์ด์ ๋ฐ ์ฒดํฌํฌ์ธํธ ๋ฐ์ดํฐ ํ์ผ์ ์์ฑํ๋ CAD ๋๊ตฌ๋ ์ด๋ฒ ๊ฐ์ ์ ํตํ์ฌ ์ฅ์ ์ ์ป์ ์ ์์ต๋๋ค.
๋ค์ ์ฐจํธ๋ ์ ๋ฐ์ดํธ๋ AZNFS์ ๋ค์ดํฐ๋ธ Linux ํด๋ผ์ด์ธํธ ๊ฐ์ ์ฑ๋ฅ์ ๋น๊ตํ ๊ฒ์ ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ๋ฅผ ์ฐธ์กฐํ์๊ธฐ ๋ฐ๋๋๋ค.
[ํ ์คํธ ํ๋ผ๋ฏธํฐ]
- VM: Standard D96ds v5
- ํ์ผ ํฌ๊ธฐ: 100GB
- Linux NFS๋ nconnect=16 ์ค์ ์ฌ์ฉ
- Linux ์ปค๋ ๋ฒ์ : 5.x.x
- ํ ์คํธ ๋๊ตฌ: dd ํ ์คํธ ์ฌ์ฉ
์ฐธ๊ณ : ํด๋น VM์ ์ฐ๊ธฐ ์ฒ๋ฆฌ๋๋ณด๋ค ์ฝ๊ธฐ ์ฒ๋ฆฌ๋์ด ๋ ๋์ต๋๋ค. ์ ๋ฐ์ดํธ๋ AZNFS์ ๊ฒฝ์ฐ, 4๊ฐ ์ด์์ ๋ณ๋ ฌ ํ์ผ ์ฝ๊ธฐ/์ฐ๊ธฐ ์์ ๋ถํฐ๋ VM NIC ๋์ญํญ์ ์ํด ์ฒ๋ฆฌ๋์ด ์ ํ๋๊ฑฐ๋, ๊ทธ ์ด์์ผ๋ก ํ์ฅ๋ ์ ์์ต๋๋ค.
๐ ๏ธ ์์ํ๊ธฐ
ํ๋ฆฌ๋ทฐ์ ๋ฑ๋กํ๋ ค๋ฉด ์ด ์์์ ์ฌ์ฉํ์ฌ ๋ฑ๋กํด ์ฃผ์ธ์. ์ต์ ๋ฒ์ ์ AZNFS๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์. ๋ฌธ์ ์ฌํญ์ด๋ ํผ๋๋ฐฑ์ด ์์ผ์ ๊ฒฝ์ฐ, aznfs@microsoft.com ์ผ๋ก ์ฐ๋ฝ ๋ถํ ๋๋ฆฝ๋๋ค.
์ฐธ๊ณ ๋ฌธ์
[What is BlobFuse? - BlobFuse2 - Azure Storage | Microsoft Learn](https://learn.microsoft.com/azure/storage/blobs/blobfuse2-what-is) |
Network File System (NFS) 3.0 protocol support for Azure Blob Storage
Mount Blob Storage by using the Network File System (NFS) 3.0 protocol on Linux
Instructions to install and use latest version of AZNFS ยท Azure/AZNFS-mount Wiki
- 2025๋ 7์ 3์ผ ์ ๋ฐ์ดํธ ๋จ.
- 2025๋ 7์ 4์ผ ๋ฒ์ญ ํจ. (by JYSEONG(MSFT) / GitHub)