ν¬μΈμ΄λ OSμ λ©λͺ¨λ¦¬ μμ μ±μ ν₯μμν€κΈ° μν μ€νμ μΈ λ°©μμ νλλ‘ RUST λμ
μ μκ°ν΄ λ³Ό μ μλ€.
C++ μ ν리μΌμ΄μ
μ RUSTλ‘ λ§μ΄κ·Έλ μ΄μ
νλ λ€μν λ°©λ²μ΄ μμ μ μλλ°, λ³Έ repoμμλ νλ€μ΄ λ°©μμΌλ‘,
RUSTλ‘ μμ±λ main()
μμ μμνμ¬, POSμ ꡬνλ κΈ°λ₯λ€μ κ·Έλλ‘ κ°μ Έμ€κ±°λ, Fakeλ₯Ό κ°μ Έμ€κ±°λ,
Stub λ§λλ λ°©μμΌλ‘ μ§νν΄λ³Ό μμ μ΄λ€. νμ¬λ‘μλ μμν νΈκΈ°μ¬/μ¬λ―Έ/곡λΆμ λͺ©μ μμ λΆλͺ
ν νκ³ ,
Poseidon OS κ³Όμ μ λ‘λ맡과λ κ΄λ ¨μ΄ μμμ 미리 λ°νλλ€.
Productionμμμ μ¬μ©μ κΆνμ§ μλλ€. PR νμ!
κ° .cpp
νμΌμ λν΄ κ·Έμ μμνλ .rs
νμΌμ νλμ© λ§λ€μ΄κ° μμ μ΄λ€.
SPDK
μ κ²½μ°μλ, stubλ§ λ§λ€μ΄ λ μκ°μ΄κ³ μΆνμ μ€μ λΌμ΄λΈλ¬λ¦¬μ λ§ν¬λ μ μλλ‘
μ΄ν΄λ³΄λ©΄ λ κ² κ°κ³ , NVMe
λλ°μ΄μ€μ κ²½μ°μλ, fake ꡬνμ ν΄λ³Ό μκ°μ΄λ€.
$ cargo run --bin poseidonos
[2022-10-20T11:01:16Z INFO poseidonos] Hello, PoseidonOS R-type!
[2022-10-20T11:01:16Z INFO poseidonos_rtype::spdk_wrapper::spdk] waiting for spdk initialization...
[2022-10-20T11:01:16Z INFO poseidonos_rtype::spdk_wrapper::spdk::spdk_clib] Invoking start_fn in a new thread...
[2022-10-20T11:01:16Z INFO poseidonos_rtype::spdk_wrapper::spdk] poseidonos started
[2022-10-20T11:01:16Z INFO poseidonos_rtype::spdk_wrapper::spdk] spdk_app_start result = 0
[2022-10-20T11:01:17Z INFO poseidonos_rtype::master_context::config_manager] Configuration [transport]
trType = "TCP"
bufCacheSize = 64
numSharedBuf = 4096
ioUnitSize = 512
[journal]
enable = true
buffer_size_in_mb = 0
number_of_log_groups = 2
debug_mode = false
interval_in_msec_for_metric = 1000
enable_vsc = true
[2022-10-20T11:01:17Z INFO poseidonos_rtype::helper::rpc::spdk_rpc_client] SpdkRpcClient is about to create a transport TCP 64 4096 512
[2022-10-20T11:01:17Z INFO poseidonos_rtype::helper::rpc::spdk_rpc_client] TODO: send json message to domain socket on /var/tmp/spdk.sock
[2022-10-20T11:01:17Z INFO poseidonos_rtype::metafs::config::metafs_config_manager] need to build a config
[2022-10-20T11:01:17Z INFO poseidonos_rtype::main::poseidonos] CLI client is sleeping for 3 seconds...
[2022-10-20T11:01:17Z INFO poseidonos_rtype::main::poseidonos] CLI server is up...
[2022-10-20T11:01:20Z INFO poseidonos_rtype::main::poseidonos] CLI client is sending CreateArray msg to CLI server...
[2022-10-20T11:01:20Z INFO poseidonos_rtype::main::poseidonos] Waiting CLI server to terminate...
[2022-10-20T11:01:20Z INFO poseidonos_rtype::main::poseidonos] Creating POS array...
[2022-10-20T11:01:20Z INFO poseidonos_rtype::array_mgmt::array_manager] ArrayManager has been created
[2022-10-20T11:01:20Z INFO poseidonos_rtype::array_mgmt::array_manager] Creating an array POSArray with devices DeviceSet { nvm: ["uram0"], data: ["data1", "data2", "data3"], spares: ["spare1"] } with meta RAID1 and data RAID5
[2022-10-20T11:01:20Z INFO poseidonos_rtype::array::state::array_state] ArrayState has been created
[2022-10-20T11:01:20Z INFO poseidonos_rtype::array_components::array_components] [CREATE_ARRAY_DEBUG_MSG] Creating array component for POSArray
[2022-10-20T11:01:21Z INFO poseidonos_rtype::array::device::array_device_manager] Importing DeviceSet { nvm: ["uram0"], data: ["data1", "data2", "data3"], spares: ["spare1"] }...
[2022-10-20T11:01:21Z INFO poseidonos_rtype::array::device::array_device_manager] Exporting devices info with DeviceMeta
[2022-10-20T11:01:21Z INFO poseidonos_rtype::array::array] [UPDATE_ABR_DEBUG_MSG] Trying to save Array to MBR, name:POSArray, metaRaid:RAID1, dataRaid:RAID5
[2022-10-20T11:01:21Z INFO poseidonos_rtype::array::array] TODO: _CreatePartitions() ...
[2022-10-20T11:01:21Z INFO poseidonos_rtype::array::array] [POS_TRACE_ARRAY_CREATED] Array has been created
[2022-10-20T11:01:21Z INFO poseidonos_rtype::metafs::metafs] Creating MetaFs for POSArray with idx 0
[2022-10-20T11:01:21Z INFO poseidonos_rtype::volume::volume_manager] Creating VolumeManager for POSArray with idx 0
[2022-10-20T11:01:21Z INFO poseidonos_rtype::network::nvmf] Creating NVMf for POSArray with idx 0
[2022-10-20T11:01:21Z INFO poseidonos_rtype::allocator::allocator] Creating Allocator for POSArray
[2022-10-20T11:01:21Z INFO poseidonos_rtype::journal_manager::journal_manager] Creating JournalManager for POSArray
repo 첫νμ΄μ§μ "Code" λ Ήμ λ²νΌ λλ₯Έ λ€, "Codespaces" μ€ννλ©΄ 곧λ°λ‘ vscode web λ²μ μΌλ‘ μ»΄νμΌ λ° μ€ν κ°λ₯