Disk Management Guide(KR) - cloud-barista/cb-spider GitHub Wiki

Disk Management Guide

Language: English | ํ•œ๊ตญ์–ด

1. CB-Spider Disk ๊ฐœ์š”

  • CB-Spider๋Š” ์—ฐ๋™ ๋Œ€์ƒ ํด๋ผ์šฐ๋“œ(CSP)๊ฐ€ ์ œ๊ณตํ•˜๋Š” Disk(๋˜๋Š” Volume)๋ฅผ ๋™์ผํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” Disk ์ œ์–ด ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.
  • CB-Spider ์‚ฌ์šฉ์ž๋Š” Disk๋ฅผ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด Root-Disk(R-Disk, ์šด์˜์ฒด์ œ ํฌํ•จ)์™€ Data-Disk(D-Disk)๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

[1. Root-Disk ํ™œ์šฉ]

  • (์ƒ์„ฑ/๋ถ€์ฐฉ) ์‚ฌ์šฉ์ž๊ฐ€ VM ์ƒ์„ฑ ์š”์ฒญ์‹œ ์ž๋™์œผ๋กœ Root-Disk๊ฐ€ ์ƒ์„ฑ๋˜๋ฉฐ,
    • ์ƒ์„ฑ๋œ VM์— ์ƒ์„ฑ๋œ Root-Disk๊ฐ€ ๋ถ€์ฐฉ(Attach) ๋˜์–ด OS ์šด์˜์— ํ•„์š”ํ•œ ์‹œ์Šคํ…œ ๋””์Šคํฌ๋กœ ํ™œ์šฉ๋œ๋‹ค.
    • ํ•˜๋‚˜์˜ VM์€ ํ•˜๋‚˜์˜ Root-Disk๋ฅผ ์†Œ์œ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • (ํ•ด์ œ/์‚ญ์ œ) Root-Disk๋Š” VM์œผ๋กœ ๋ถ€ํ„ฐ ๋ช…์‹œ์ ์ธ ํ•ด์ œ(Detach)๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ,
    • Disk๋ฅผ ์†Œ์œ ํ•œ VM ์‚ญ์ œ ์‹œ์— ์ž๋™์œผ๋กœ ์‚ฌ์šฉ ํ•ด์ œ(Detach) ๋˜๋ฉฐ VM๊ณผ ํ•จ๊ป˜ ์‚ญ์ œ๋œ๋‹ค.
  • (ํƒ€์ž…/์‚ฌ์ด์ฆˆ ์„ค์ •) ์‚ฌ์šฉ์ž๋Š” VM ์ƒ์„ฑ ์š”์ฒญ ์‹œ์— Root-Disk์˜ Disk Type๊ณผ Disk Size๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

[2. Data-Disk ํ™œ์šฉ]

  • (์ƒ์„ฑ) ์‚ฌ์šฉ์ž๋Š” ํ•„์š” ์‹œ์ ์— Data-Disk๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
  • (๋ถ€์ฐฉ) ์‚ฌ์šฉ์ž๋Š” ์ƒ์„ฑํ•œ Data-Disk๋ฅผ ์šด์˜ ์ค‘์ธ ํŠน์ • VM์— ๋ถ€์ฐฉ(Attach)ํ•˜์—ฌ VM์—์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋˜ํ•œ, VM ์ƒ์„ฑ์‹œ์— ์กด์žฌํ•˜๋Š” Data-Disk๋ฅผ ๋ถ€์ฐฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
    • ํ•˜๋‚˜์˜ VM์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ Data-Disk ๋ถ€์ฐฉ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ•˜๋‚˜์˜ Data-Disk๋Š” ํ•˜๋‚˜์˜ VM์—๋งŒ ๋ถ€์ฐฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • (ํ•ด์ œ) ์‚ฌ์šฉ์ž๋Š” VM์ด ์†Œ์œ  ์ค‘์ธ Data-Disk๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ํ•ด์ œ(Detach) ์š”์ฒญํ•˜์—ฌ ํšŒ์ˆ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • VM ์‚ญ์ œ ์‹œ์—๋Š” ๋Œ€์ƒ VM์ด ์†Œ์œ  ์ค‘์ธ Data-Disk๊ฐ€ ์ž๋™์œผ๋กœ ์†Œ์œ  ํ•ด์ œ๋œ๋‹ค.
  • (์‚ญ์ œ) ์‚ฌ์šฉ์ž๋Š” ๋” ์ด์ƒ Data-Disk๊ฐ€ ํ•„์š” ์—†์„ ๊ฒฝ์šฐ Data-Disk๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

2. CB-Spider Disk ์ œ๊ณต ๊ธฐ๋Šฅ

2.1 Disk ์ƒ์„ฑ

  • Disk ์ƒ์„ฑ ์š”์ฒญ์‹œ Disk ํƒ€์ž…๊ณผ Size(๋‹จ์œ„:GB)์˜ ์„ค์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • Disk Type์„ "default" ๋˜๋Š” ""(๋นˆ ๋ฌธ์ž์—ด)๋กœ ์ง€์ • ์‹œ CSP์˜ ๊ธฐ๋ณธ ํƒ€์ž…์ด ์‚ฌ์šฉ๋œ๋‹ค.
  • Disk Size๋ฅผ "default" ๋˜๋Š” ""(๋นˆ ๋ฌธ์ž์—ด)๋กœ ์ง€์ • ์‹œ CSP์˜ ๊ธฐ๋ณธ ํฌ๊ธฐ๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค.
  • โ€ป CSP๋ณ„ ๊ฐ€๋Šฅํ•œ Disk Type ๋ฐ Size ๊ฐ’ ์ฐธ๊ณ 

2.2 Disk ๋ชฉ๋ก ์กฐํšŒ

  • Connection์— ์ƒ์„ฑ๋œ ๋ชจ๋“  Disk ๋ชฉ๋ก์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

2.3 Disk ์ •๋ณด ์กฐํšŒ

  • ํŠน์ • Disk์˜ ํƒ€์ž…, Size, ์ƒํƒœ ๋ฐ ์†Œ์œ  VM IID ์ •๋ณด ๋“ฑ์„ ์ œ๊ณตํ•œ๋‹ค.
  • ์ œ๊ณตํ•˜๋Š” Disk ์ƒํƒœ ์ข…๋ฅ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
    • Creating: Disk๊ฐ€ ์ƒ์„ฑ ์ค‘์ธ ์ƒํƒœ
    • Available: Disk๊ฐ€ VM์— ๋ถ€์ฐฉ ๋˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ
    • Attached: Disk๊ฐ€ VM์— ๋ถ€์ฐฉ๋˜์–ด ํŠน์ • VM์ด ์†Œ์œ  ์ค‘์ธ ์ƒํƒœ
      • Attached ์ƒํƒœ์ผ ๋•Œ๋Š” ๋Œ€์ƒ Disk๊ฐ€ ๋ถ€์ฐฉ๋œ ์†Œ์œ  VM IID ์ •๋ณด๊ฐ€ ์ œ๊ณต๋œ๋‹ค.
    • Deleting: Disk๊ฐ€ ์‚ญ์ œ ์ค‘์ธ ์ƒํƒœ
    • Error: Disk ์˜ค๋ฅ˜ ์ƒํƒœ

2.4 Disk Size ์ฆ๊ฐ€

  • Disk Size ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๊ธฐ์กด ๋ณด๋‹ค ํฐ ํฌ๊ธฐ๋กœ๋งŒ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์ฐธ๊ณ : AWS์˜ ๊ฒฝ์šฐ ์ˆ˜์ • ํ›„์—๋Š” 6์‹œ๊ฐ„์ด ๊ฒฝ๊ณผํ•ด์•ผ ์ˆ˜์ • ๊ฐ€๋Šฅํ•˜๋‹ค.

2.5 Disk ๋ถ€์ฐฉ

  • Available ์ƒํƒœ์ธ Disk๋Š” ํŠน์ • VM์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ถ€์ฐฉ(Attach)์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๋ถ€์ฐฉ๋œ Disk๋Š” VM์˜ block device๋กœ ํ™œ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ,
  • ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ํƒ‘์žฌํ•˜์—ฌ ํ™œ์šฉํ•˜๊ณ ์ž ํ•  ๊ฒฝ์šฐ ํฌ๋งท ๋ฐ ๋งˆ์šดํŠธ ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค.
  • ํ•˜๋‚˜์˜ VM์—๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ Disk ๋ถ€์ฐฉ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ•˜๋‚˜์˜ Disk๋Š” ํ•˜๋‚˜์˜ VM์—๋งŒ ๋ถ€์ฐฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

2.6 Disk ํ•ด์ œ

  • ํŠน์ • VM์— ๋ถ€์ฐฉ๋œ Disk๋ฅผ ํ•ด์ œ(Detach)ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ•ด์ œ๋œ Disk๋Š” ๋‹ค๋ฅธ VM์— ๋ถ€์ฐฉํ•˜์—ฌ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

2.7 Disk ์‚ญ์ œ

  • ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” Disk๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
  • Attached ์ƒํƒœ์ธ Disk๋Š” ์ผ๋ฐ˜ ์‚ญ์ œ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ, force ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ•์ œ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

2.8 Disk ๋“ฑ๋ก/ํ•ด์ œ

  • ๊ธฐ์กด CSP์— ์กด์žฌํ•˜๋Š” Disk๋ฅผ CB-Spider์— ๋“ฑ๋กํ•˜์—ฌ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋“ฑ๋ก๋œ Disk๋ฅผ CB-Spider ๊ด€๋ฆฌ์—์„œ ํ•ด์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

2.9 Disk ํ†ต๊ณ„

  • ์ „์ฒด Disk ๊ฐœ์ˆ˜ ๋˜๋Š” ํŠน์ • Connection์˜ Disk ๊ฐœ์ˆ˜๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ์ฐธ๊ณ : Format / Mount / UMount

VM์— ๋ถ€์ฐฉ๋œ Data-Disk๋ฅผ VM์—์„œ ํŒŒ์ผ ์ €์žฅ ๋ชฉ์ ์œผ๋กœ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ ํฌ๋งท๊ณผ ๋งˆ์šดํŠธ ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค.

3.1 ๋ถ€์ฐฉ๋œ Data-Disk ํ™•์ธ

$ lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0     7:0    0  44.7M  1 loop /snap/snapd/15534
loop1     7:1    0  55.5M  1 loop /snap/core18/2344
...
sda       8:0    0    10G  0 disk
|-sda1    8:1    0   9.9G  0 part /
|-sda14   8:14   0     4M  0 part
`-sda15   8:15   0   106M  0 part /boot/efi
sdc       8:16   0    18G  0 disk                   <=======

3.2 ํŒŒ์ผ ์‹œ์Šคํ…œ ํฌ๋งท

Disk ์†์„ฑ ํ™•์ธ: ์†์„ฑ์ด data์ผ ๊ฒฝ์šฐ format ํ•„์š”

$ sudo file -s /dev/sdc
/dev/sdc: data

Format ์ˆ˜ํ–‰

$ sudo mkfs -t xfs /dev/sdc
meta-data=/dev/sdc               isize=512    agcount=4, agsize=1048576 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0, rmapbt=0, reflink=0
data     =                       bsize=4096   blocks=4194304, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

3.3 ๋งˆ์šดํŠธ

Disk ์†์„ฑ ํ™•์ธ

$ sudo file -s /dev/sdc
/dev/sdc: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)

Mount ์ˆ˜ํ–‰

$ mkdir data
$ sudo mount /dev/sdc data
$ cd data
$ sudo chown cb-user:cb-user .

์‚ฌ์šฉ ์˜ˆ์‹œ

$ cd ~/data
$ vi input.dat

3.4 ๋งˆ์šดํŠธ ํ•ด์ œ

Umount ์ˆ˜ํ–‰

$ sudo umount -d /dev/sdc

4. CB-Spider Disk API ๋ฐ ์ œ๊ณต ์ •๋ณด ๊ทœ๊ฒฉ

  • ์‚ฌ์šฉ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ CB-Spider REST API๋ฅผ ์ด์šฉํ•˜์—ฌ Disk ์ •๋ณด๋ฅผ JSON ๊ทœ๊ฒฉ์œผ๋กœ ์ œ๊ณต๋ฐ›๋Š”๋‹ค.

4.1 Disk ๊ด€๋ฆฌ API

# Disk ์ƒ์„ฑ ๋ฐ ์กฐํšŒ
POST   /spider/disk                     - Create Disk
GET    /spider/disk                     - List Disks
GET    /spider/disk/{Name}              - Get Disk
DELETE /spider/disk/{Name}              - Delete Disk

# Disk ๋“ฑ๋ก/ํ•ด์ œ (๊ธฐ์กด CSP Disk ์—ฐ๋™)
POST   /spider/regdisk                  - Register Disk
DELETE /spider/regdisk/{Name}           - Unregister Disk

# Disk Size ๋ณ€๊ฒฝ
PUT    /spider/disk/{Name}/size         - Increase Disk Size

# Disk ๋ถ€์ฐฉ/ํ•ด์ œ
PUT    /spider/disk/{Name}/attach       - Attach Disk to VM
PUT    /spider/disk/{Name}/detach       - Detach Disk from VM

# Disk ๋ชฉ๋ก ์กฐํšŒ (์ „์ฒด)
GET    /spider/alldisk                  - List All Disks (CB-Spider + CSP)
GET    /spider/alldiskinfo              - List All Disk Info

# Disk ํ†ต๊ณ„
GET    /spider/countdisk                - Count All Disks
GET    /spider/countdisk/{ConnectionName} - Count Disks by Connection

# CSP Disk ์ง์ ‘ ์‚ญ์ œ
DELETE /spider/cspdisk/{Id}             - Delete CSP Disk

4.2 ์ œ๊ณต ์ •๋ณด ๊ทœ๊ฒฉ

Disk ์ •๋ณด (DiskInfo)

ํ•„๋“œ ์„ค๋ช… ์˜ˆ์‹œ
IId Disk์˜ ์‹๋ณ„์ž ์ •๋ณด (NameId, SystemId) โ— {Name: "disk-01", SystemId: "vol-1234abcd"}
Zone Disk๊ฐ€ ์œ„์น˜ํ•œ ๊ฐ€์šฉ ์˜์—ญ โ— "us-east-1a", "ap-northeast-2a" ๋“ฑ
DiskType Disk ํƒ€์ž… โ— "gp2", "gp3", "io1" ๋“ฑ
DiskSize Disk ํฌ๊ธฐ (GB) โ— "50", "100", "1000" ๋“ฑ
Status Disk ์ƒํƒœ โ— "Creating", "Available", "Attached", "Deleting", "Error"
OwnerVM Disk๊ฐ€ ๋ถ€์ฐฉ๋œ VM ์ •๋ณด (Status๊ฐ€ Attached์ผ ๋•Œ๋งŒ) โ— {Name: "vm-01", SystemId: "i-5678efgh"}
CreatedTime Disk ์ƒ์„ฑ ์‹œ๊ฐ โ— "2024-01-15T10:30:00Z"
TagList Disk์— ํ• ๋‹น๋œ ํƒœ๊ทธ ๋ฆฌ์ŠคํŠธ โ— [{Key: "Purpose", Value: "Database"}]
KeyValueList CSP๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ถ”๊ฐ€ Disk ์ •๋ณด โ— [{Key: "IOPS", Value: "3000"}]

5. CB-Spider Disk API ๋ฐ ์ œ๊ณต ์ •๋ณด ์˜ˆ์‹œ

5.1 Disk ์ƒ์„ฑ ์˜ˆ์‹œ

  • Disk Type๊ณผ Size๋ฅผ ์ง€์ •ํ•˜์—ฌ Data-Disk๋ฅผ ์ƒ์„ฑํ•˜๋Š” API ํ˜ธ์ถœ ์˜ˆ์‹œ:
curl -sX POST http://localhost:1024/spider/disk \
  -H 'Content-Type: application/json' \
  -d '{
    "ConnectionName": "aws-config01",
    "ReqInfo": {
      "Name": "disk-01",
      "Zone": "ap-southeast-2a",
      "DiskType": "gp3",
      "DiskSize": "100"
    }
  }' | jq

์‘๋‹ต ์˜ˆ์‹œ:

{
  "IId": {
    "NameId": "disk-01",
    "SystemId": "vol-0513e712757fc92a7"
  },
  "Zone": "ap-southeast-2a",
  "DiskType": "gp3",
  "DiskSize": "100",
  "Status": "Available",
  "OwnerVM": {
    "NameId": "",
    "SystemId": ""
  },
  "CreatedTime": "2026-02-04T13:47:45.153Z",
  "TagList": [
    {
      "Key": "Name",
      "Value": "disk-01-d61krvu1pc4njtmut8v0"
    }
  ],
  "KeyValueList": [
    {
      "Key": "AvailabilityZone",
      "Value": "ap-southeast-2a"
    },
    {
      "Key": "Encrypted",
      "Value": "false"
    },
    {
      "Key": "Iops",
      "Value": "3000"
    },
    {
      "Key": "State",
      "Value": "available"
    },
    {
      "Key": "Throughput",
      "Value": "125"
    },
    {
      "Key": "VolumeType",
      "Value": "gp3"
    }
  ]
}

5.2 Default ํƒ€์ž…/ํฌ๊ธฐ๋กœ Disk ์ƒ์„ฑ ์˜ˆ์‹œ

  • DiskType๊ณผ DiskSize๋ฅผ "default"๋กœ ์ง€์ •ํ•˜์—ฌ Disk ์ƒ์„ฑ:
curl -sX POST http://localhost:1024/spider/disk \
  -H 'Content-Type: application/json' \
  -d '{
    "ConnectionName": "aws-config01",
    "ReqInfo": {
      "Name": "disk-02",
      "DiskType": "default",
      "DiskSize": "default"
    }
  }' | jq

5.3 Disk ์กฐํšŒ ์˜ˆ์‹œ

  • ์ƒ์„ฑ๋œ Disk ์ •๋ณด๋ฅผ ์กฐํšŒํ•˜๋Š” API ํ˜ธ์ถœ ์˜ˆ์‹œ:
curl -sX GET 'http://localhost:1024/spider/disk/disk-01?ConnectionName=aws-config01' | jq

์‘๋‹ต ์˜ˆ์‹œ:

{
  "IId": {
    "NameId": "disk-01",
    "SystemId": "vol-0a1b2c3d4e5f67890"
  },
  "Zone": "us-east-1a",
  "DiskType": "gp3",
  "DiskSize": "100",
  "Status": "Available",
  "CreatedTime": "2024-01-15T10:30:00Z",
  "TagList": [],
  "KeyValueList": [
    {
      "Key": "IOPS",
      "Value": "3000"
    }
  ]
}

5.4 Disk ๋ชฉ๋ก ์กฐํšŒ ์˜ˆ์‹œ

  • Connection์— ์ƒ์„ฑ๋œ ๋ชจ๋“  Disk ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋Š” API ํ˜ธ์ถœ ์˜ˆ์‹œ:
curl -sX GET 'http://localhost:1024/spider/disk?ConnectionName=aws-config01' | jq

์‘๋‹ต ์˜ˆ์‹œ:

{
  "disk": [
    {
      "IId": {
        "NameId": "disk-01",
        "SystemId": "vol-0a1b2c3d4e5f67890"
      },
      "Zone": "us-east-1a",
      "DiskType": "gp3",
      "DiskSize": "100",
      "Status": "Available",
      ...
    },
    {
      "IId": {
        "NameId": "vm-01-root",
        "SystemId": "vol-1b2c3d4e5f678901"
      },
      "Zone": "us-east-1a",
      "DiskType": "gp2",
      "DiskSize": "30",
      "Status": "Attached",
      "OwnerVM": {
        "NameId": "vm-01",
        "SystemId": "i-2c3d4e5f67890123"
      },
      ...
    }
  ]
}

5.5 Disk๋ฅผ VM์— ๋ถ€์ฐฉ ์˜ˆ์‹œ

  • Available ์ƒํƒœ์˜ Disk๋ฅผ ํŠน์ • VM์— ๋ถ€์ฐฉํ•˜๋Š” API ํ˜ธ์ถœ ์˜ˆ์‹œ:
curl -sX PUT http://localhost:1024/spider/disk/disk-01/attach \
  -H 'Content-Type: application/json' \
  -d '{
    "ConnectionName": "aws-config01",
    "ReqInfo": {
      "VMName": "vm-01"
    }
  }' | jq

์‘๋‹ต ์˜ˆ์‹œ:

{
  "IId": {
    "NameId": "disk-01",
    "SystemId": "vol-0a1b2c3d4e5f67890"
  },
  "Zone": "us-east-1a",
  "DiskType": "gp3",
  "DiskSize": "100",
  "Status": "Attached",
  "OwnerVM": {
    "NameId": "vm-01",
    "SystemId": "i-2c3d4e5f67890123"
  },
  "CreatedTime": "2024-01-15T10:30:00Z",
  ...
}

5.6 Disk๋ฅผ VM์—์„œ ํ•ด์ œ ์˜ˆ์‹œ

  • VM์— ๋ถ€์ฐฉ๋œ Disk๋ฅผ ํ•ด์ œํ•˜๋Š” API ํ˜ธ์ถœ ์˜ˆ์‹œ:
curl -sX PUT http://localhost:1024/spider/disk/disk-01/detach \
  -H 'Content-Type: application/json' \
  -d '{
    "ConnectionName": "aws-config01",
    "ReqInfo": {
      "VMName": "vm-01"
    }
  }' | jq

์‘๋‹ต ์˜ˆ์‹œ:

{
  "Result": "true"
}

5.7 Disk Size ์ฆ๊ฐ€ ์˜ˆ์‹œ

  • ๊ธฐ์กด Disk์˜ Size๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋Š” API ํ˜ธ์ถœ ์˜ˆ์‹œ:
curl -sX PUT http://localhost:1024/spider/disk/disk-01/size \
  -H 'Content-Type: application/json' \
  -d '{
    "ConnectionName": "aws-config01",
    "ReqInfo": {
      "Size": "200"
    }
  }' | jq

์‘๋‹ต ์˜ˆ์‹œ:

{
  "Result": "true"
}

5.8 Disk ์‚ญ์ œ ์˜ˆ์‹œ

  • Disk๋ฅผ ์‚ญ์ œํ•˜๋Š” API ํ˜ธ์ถœ ์˜ˆ์‹œ:
curl -sX DELETE 'http://localhost:1024/spider/disk/disk-01' \
  -H 'Content-Type: application/json' \
  -d '{
    "ConnectionName": "aws-config01"
  }' | jq

์‘๋‹ต ์˜ˆ์‹œ:

{
  "Result": "true"
}

5.9 ๊ฐ•์ œ ์‚ญ์ œ ์˜ˆ์‹œ

  • Disk๋ฅผ ๊ฐ•์ œ๋กœ ์‚ญ์ œํ•˜๋Š” API ํ˜ธ์ถœ ์˜ˆ์‹œ (VM์— ๋ถ€์ฐฉ๋˜์–ด ์žˆ์–ด๋„ ์‚ญ์ œ):
curl -sX DELETE 'http://localhost:1024/spider/disk/disk-01?force=true' \
  -H 'Content-Type: application/json' \
  -d '{
    "ConnectionName": "aws-config01"
  }' | jq

6. CB-Spider Disk AdminWeb ํ™œ์šฉ ์˜ˆ์‹œ

  • AdminWeb์„ ํ†ตํ•œ Disk ๊ด€๋ฆฌ ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

    1. Connection ์„ ํƒ: AdminWeb ์ƒ๋‹จ์—์„œ ๋Œ€์ƒ CSP Connection ์„ ํƒ
    2. Disk ๋ฉ”๋‰ด ์ ‘๊ทผ: ์ขŒ์ธก ๋ฉ”๋‰ด์—์„œ "Disk" ์„ ํƒ
    3. Disk ์ƒ์„ฑ: "Create Disk" ๋ฒ„ํŠผ ํด๋ฆญ ํ›„ ํ•„์š”ํ•œ ์ •๋ณด ์ž…๋ ฅ
    4. Disk ๊ด€๋ฆฌ: Disk ์ƒํƒœ ํ™•์ธ, ๋ถ€์ฐฉ/ํ•ด์ œ, Size ๋ณ€๊ฒฝ, ์‚ญ์ œ ๋“ฑ

6.1 Disk ๋ชฉ๋ก ํ™”๋ฉด ์˜ˆ์‹œ

AdminWeb์—์„œ Disk ๋ชฉ๋ก์„ ์กฐํšŒํ•  ๋•Œ ๋‹ค์Œ ์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋œ๋‹ค:

  • Disk ์ด๋ฆ„
  • Zone
  • Disk Type
  • Disk Size (GB)
  • Status (Creating, Available, Attached, Deleting, Error)
  • Owner VM (Attached ์ƒํƒœ์ธ ๊ฒฝ์šฐ)
  • ์ž‘์—… ๋ฒ„ํŠผ (์ƒ์„ธ๋ณด๊ธฐ, ๋ถ€์ฐฉ, ํ•ด์ œ, Size ๋ณ€๊ฒฝ, ์‚ญ์ œ ๋“ฑ)

6.2 Disk ์ƒ์„ฑ ํ™”๋ฉด ์˜ˆ์‹œ

AdminWeb์—์„œ Disk๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋‹ค์Œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค:

  • Disk Name: CB-Spider์—์„œ ๊ด€๋ฆฌํ•  Disk ์ด๋ฆ„
  • Zone: Disk๋ฅผ ์ƒ์„ฑํ•  ๊ฐ€์šฉ ์˜์—ญ (์„ ํƒ์ , ๋ฏธ์ง€์ • ์‹œ Connection์˜ ๊ธฐ๋ณธ Zone ์‚ฌ์šฉ)
  • Disk Type: Disk ํƒ€์ž… ์„ ํƒ ๋˜๋Š” "default" ์ž…๋ ฅ
    • ์˜ˆ์‹œ: gp2, gp3, io1, io2 (AWS), Premium_LRS, Standard_LRS (Azure) ๋“ฑ
  • Disk Size: Disk ํฌ๊ธฐ (GB) ๋˜๋Š” "default" ์ž…๋ ฅ
    • ์˜ˆ์‹œ: 50, 100, 500, 1000 ๋“ฑ
  • Tags (์„ ํƒ์ ): ๋ฆฌ์†Œ์Šค ํƒœ๊ทธ ์ •๋ณด

6.3 Disk ์ƒ์„ธ ์ •๋ณด ํ™”๋ฉด ์˜ˆ์‹œ

Disk ์ƒ์„ธ ์ •๋ณด ํ™”๋ฉด์—์„œ๋Š” ๋‹ค์Œ ์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋œ๋‹ค:

๊ธฐ๋ณธ ์ •๋ณด:

  • Disk IId (NameId, SystemId)
  • Zone
  • Disk Type
  • Disk Size (GB)
  • Status
  • Created Time

์†Œ์œ  VM ์ •๋ณด (Attached ์ƒํƒœ์ธ ๊ฒฝ์šฐ):

  • Owner VM IId (NameId, SystemId)

์ž‘์—… ๋ฒ„ํŠผ:

  • Attach to VM (Available ์ƒํƒœ์ธ ๊ฒฝ์šฐ)
  • Detach from VM (Attached ์ƒํƒœ์ธ ๊ฒฝ์šฐ)
  • Increase Size
  • Delete Disk

7. ์ฃผ์˜์‚ฌํ•ญ ๋ฐ ์ œ์•ฝ์‚ฌํ•ญ

7.1 Disk ์ƒ์„ฑ ์‹œ ์ฃผ์˜์‚ฌํ•ญ

  • Zone ์ง€์ •: Disk๋ฅผ VM์— ๋ถ€์ฐฉํ•˜๋ ค๋ฉด ๋™์ผํ•œ Zone์— ์žˆ์–ด์•ผ ํ•จ
  • Disk Type: CSP๋ณ„๋กœ ์ง€์›ํ•˜๋Š” Disk Type์ด ๋‹ค๋ฅด๋ฏ€๋กœ ์‚ฌ์ „ ํ™•์ธ ํ•„์š”
  • Disk Size: CSP๋ณ„๋กœ ์ตœ์†Œ/์ตœ๋Œ€ Size ์ œํ•œ์ด ์žˆ์Œ
  • Default ๊ฐ’: DiskType ๋˜๋Š” DiskSize๋ฅผ "default" ๋˜๋Š” ""(๋นˆ ๋ฌธ์ž์—ด)๋กœ ์ง€์ • ์‹œ CSP์˜ ๊ธฐ๋ณธ๊ฐ’ ์‚ฌ์šฉ

7.2 Disk ๋ถ€์ฐฉ ์‹œ ์ฃผ์˜์‚ฌํ•ญ

  • Zone ์ผ์น˜: Disk์™€ VM์ด ๋™์ผํ•œ Zone์— ์žˆ์–ด์•ผ ๋ถ€์ฐฉ ๊ฐ€๋Šฅ
  • Available ์ƒํƒœ: Disk๊ฐ€ Available ์ƒํƒœ์—ฌ์•ผ ๋ถ€์ฐฉ ๊ฐ€๋Šฅ
  • ๋ถ€์ฐฉ ์ œํ•œ: ํ•˜๋‚˜์˜ Disk๋Š” ํ•˜๋‚˜์˜ VM์—๋งŒ ๋ถ€์ฐฉ ๊ฐ€๋Šฅ
  • ํฌ๋งท/๋งˆ์šดํŠธ: ๋ถ€์ฐฉ ํ›„ VM์—์„œ ํŒŒ์ผ ์‹œ์Šคํ…œ ์‚ฌ์šฉ์„ ์œ„ํ•ด ํฌ๋งท ๋ฐ ๋งˆ์šดํŠธ ํ•„์š”

7.3 Disk Size ๋ณ€๊ฒฝ ์‹œ ์ฃผ์˜์‚ฌํ•ญ

  • ์ฆ๊ฐ€๋งŒ ๊ฐ€๋Šฅ: ํ˜„์žฌ ํฌ๊ธฐ๋ณด๋‹ค ํฐ ํฌ๊ธฐ๋กœ๋งŒ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ (๊ฐ์†Œ ๋ถˆ๊ฐ€)
  • ๋ณ€๊ฒฝ ์ œํ•œ: CSP๋ณ„๋กœ Size ๋ณ€๊ฒฝ ์ฃผ๊ธฐ ์ œํ•œ์ด ์žˆ์Œ
    • ์˜ˆ: AWS๋Š” 6์‹œ๊ฐ„ ๊ฒฝ๊ณผ ํ›„ ์žฌ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
  • ํŒŒ์ผ ์‹œ์Šคํ…œ ํ™•์žฅ: Size ์ฆ๊ฐ€ ํ›„ VM์—์„œ ํŒŒ์ผ ์‹œ์Šคํ…œ ํ™•์žฅ ์ž‘์—… ํ•„์š”

7.4 Disk ์‚ญ์ œ ์‹œ ์ฃผ์˜์‚ฌํ•ญ

  • Attached ์ƒํƒœ: Attached ์ƒํƒœ์ธ Disk๋Š” ์ผ๋ฐ˜ ์‚ญ์ œ ๋ถˆ๊ฐ€ (force ์˜ต์…˜ ์‚ฌ์šฉ ์‹œ ๊ฐ€๋Šฅ)
  • ๊ฐ•์ œ ์‚ญ์ œ: force=true ์˜ต์…˜ ์‚ฌ์šฉ ์‹œ ์—ฐ๊ฒฐ๋œ ๋ฆฌ์†Œ์Šค ๊ฒ€์ฆ ์—†์ด ๊ฐ•์ œ ์‚ญ์ œ๋จ (์ฃผ์˜!)
  • Root-Disk: VM์˜ Root-Disk๋Š” VM ์‚ญ์ œ ์‹œ ์ž๋™์œผ๋กœ ์‚ญ์ œ๋จ

8. ์ฐธ๊ณ  ์ž๋ฃŒ