23 Ceph I/O 20 20115107
i 1 1 2 2 2.1.............................. 2 2.1.1..................... 2 2.1.2.................. 3 2.1.3....................... 3 2.2 Ceph........................ 4 2.2.1................................. 4 2.2.2....................... 6 2.2.3 CRUSH............................... 10 2.2.4 RADOS............................... 12 2.2.5.................. 12 3 17 4 18 4.1................................... 18 4.2................................... 19 5 23 6 24
1 1 Ceph Ceph RADOS, Ceph I/O I/O 2 3 4 5 6
2 2 Ceph 2.1 2.1.1 1 OS 2 1 2
3 2.1.2 NAS Network Attached Storage 2.1.3 NFS Network file system CIFS Common Internet File System 1
4 2.2 Ceph Ceph Ceph 2.2.1 Ceph 3 Ceph 4 write read
5 client メタデータの操作 Metadata Server 名前空間の管理とメタデータの操作を行うノード群 ファイルデータの操作 格納 メタデータの永続化 Storage ストレージを構成するノード群 1: 1 Ceph [ ]
6 Ceph Ceph CPU 2.2.2 1 client 2 monitor 1. メタデータの操作 fileopen,rename, etc 2. ファイルデータの I/O 3. メタデータの I/O Metadata server 3 Object storage device 2: Ceph Ceph 2 4 Ceph Ceph OSD
7 MDS Ceph Ceph VFS Ceph write read open close VFS VFS Ceph Ceph POSIX Ceph
8 CRUSH Controlled Replication Under Scalable-Hashing CRUSH EBOFS Extent and B-tree based Object File System EBOFS FUSE Filesystem in Userspace VFS i raw 2 1 1 Ceph
9 Ceph ACK Paxos part-time Parliament part-time Parliament
10 ACK ACK Paxos ACK 2.2.3 CRUSH CRUSH ID CRUSH
11 CRUSH データ データもしくはメタデータを分割 fid fid1 fid2 fid3 チャンクデータとPG をマッピング PG pgid1 pgid2 pgid3 CRUSHでPGと OSD をマッピング オブジェクトストレージディバイス 3: 3 INO OID PG PG OID PG PG CRUSH
12 2.2.4 RADOS RADOS RADOS RADOS 2.2.5 GFS GFS 1 2 1??
13 ファイルデータへのアクセスを要求障害が発生ファイルデータの有無 クライアントのアクセス権限などを確認 Metadata Server client データの配置情報を送信 ファイルデータにアクセス 分散ファイルシステム ( 簡易モデル ) Storage 4: 複数のクライアントが同時にアクセス client1 client2 client3 大きな負荷が生じる Metadata Server 分散ファイルシステム ( 簡易モデル ) Storage 5:
14 2 5 / Metadata Server1 dir3 dir1 dir2 dir4 Metadata Server2 dir5 dir6 dir7 dir8 Metadata Server3 6: 6 Ceph 3
15 / Metadata Server1 dir1 dir2 client2 dir3 dir4 Metadata Server2 dir5 dir6 dir7 dir8 Metadata Server3 client1 client3 7: 7
16 / Metadata Server1 dir1 dir2 client2 dir3 dir4 dir5 dir6 dir7 dir8 Metadata Server2 file2 INO=5 等 file7 INO=8 等 client1 file9 INO=9 等 Metadata Server3 client3 8: 8
17 3 Ceph CRUSH CRUSH 4 Ceph CPU Ceph 1
18 4 Ceph read write 4.1 Ceph 400 10MB write read read write 10 0 7 3 5 5 3 7 0 10 5 KB/sec 1 1 3 5 7 9 4 1 2 3 3 12 Ceph 1: server OS Ceph version CPU Memory HDD Ubuntu11.04 v.0.37 Core i5 750 / 2.67GHz 8GB 290G Ethernet (1Gbps) OS Ceph 1
19 4.2 (KB/sec) 1 2 3 160000 140000 120000 100000 80000 60000 40000 20000 210000 205000 200000 195000 190000 MDS1 台 185000 MDS2 台 MDS3 台 180000 175000 170000 165000 MDS1 台 MDS2 台 MDS3 台 0 3 5 7 9 160000 3 5 7 9 9: write (write100% read0%) 10: read (write0% read100%) 9 400 10MB write (KB/sec) 7 9 write 10 400 10MB read write
20 read write read write read write 140000 140000 120000 120000 100000 100000 80000 60000 80000 MDS1 台 MDS2 台 MDS3 台 60000 MDS1 台 MDS2 台 MDS3 台 40000 40000 20000 20000 0 3 5 7 9 0 3 5 7 9 11: write (write70% read30%) 12: read (write70% read30%) 11 12 280 write 120 read 2 11 write 12 read write read read 7 write 9 write 13 14 200 write 200 read 2
21 140000 120000 120000 100000 100000 80000 60000 40000 80000 MDS1 台 60000 MDS2 台 MDS3 台 40000 MDS1 台 MDS2 台 MDS3 台 20000 20000 0 3 5 7 9 0 3 5 7 9 13: write (write50% read50%) 14: read (write50% read50%) 13 write 14 read read write 100000 90000 80000 70000 60000 50000 40000 30000 20000 10000 200000 180000 160000 140000 120000 MDS1 台 100000 MDS2 台 MDS3 台 80000 60000 40000 20000 MDS1 台 MDS2 台 MDS3 台 0 3 5 7 9 0 3 5 7 9 15: write (write30% read70%) 16: read (write30% read70%) 15 16 120 write 280 read 2 15 write 16 read read 12 14 17 18 9 10
22 5000 4500 4000 3500 3000 2500 2000 1500 1000 500 0 5000 4500 4000 3500 3000 MDS32500 MDS2 MDS12000 1500 1000 500 0 MDS3 MDS2 MDS1 17: write 18: read Wireshark IP IP IP Ceph write read 4 ( 3 5 7 9 ) 1 2 3 read write
23 5 Ceph write read write (400 200 write 200 read ) Wireshark 1 ( ) ( ) ( ( ) )
24 6 Ceph 400 write read I/O ( ) Ceph I/O Wireshark Ceph I/O I/O [1] Sage A. Weil. Ceph: Reliable, Scalable, and High-Performance Distributed Storage. PhD thesis, University of Califonia, SantaCruz, December 2007. [2] Sage Weil, Scott A. Brandt, Ethan L. MIller, and Carlos Maltzahn. Crush: Controlled, scalable, decentralized placement of replicated data, November 2006.
25 [3] Sage Weil, Scott A. Brandtand Ethan L. MIller, and Carlos Maltzahn. Rados: A fast, scalable, and reliable storage service for petabyte-scale storage clusters, November 2007.