Isasama sa Linus Torvalds ang dm-clone para sa Linux Kernel branch 5.4

linux-kernel

Recientemente ang balita ay pinakawalan na ang tagalikha ng kernel ng Linux, "Linus Torvalds" tinanggap sa pangunahing sangay (batay sa kung aling bersyon 5.4 ang nabuo) ang pagpapatupad ng dm-clone module sa pagpapatupad ng isang bagong controller batay sa Device-Mapper.

Ang bagong panukalang ito para sa Linux kernel Papayagan kang i-clone ang isang mayroon nang aparato ng block. Pinapayagan ng module na lumikha ng isang lokal na kopya batay sa isang read-only block na aparato na maaaring maisulat sa panahon ng proseso ng pag-clone.

Bilang isang tipikal na aplikasyon ng iminungkahing module para sa Linux Kernel Ang "Dm-clone" ay tumutukoy sa pag-clone ng network ng mga remote file device sa read-only mode at pagproseso ng I / O na may mahabang pagkaantala, sa isang mabilis na lokal na aparato na sumusuporta sa pagrekord at pagproseso ng mga kahilingan na may kaunting pagkaantala.

Kasama nagbibigay ng kakayahang i-mount ang na-clone na aparato at simulang gamitin ito kaagad pagkatapos ng paglikha nito, nang hindi naghihintay para matapos ang proseso ng paglilipat ng data.

Habang sa kabilang banda ang pagkopya ng impormasyon ay magpapatuloy sa likuran, kahanay ng input / output na nabuo kapag nag-a-access ng isang bagong aparato.

Ang pangunahing kaso ng paggamit para sa dm-clone ay upang i-clone ang isang potensyal na remote latency, read-only file-type locking device sa isang nasusulat na pangunahing uri na aparato.

Halimbawa Maaaring gamitin ang dm-clone upang maibalik ang naka-attach na mga backup ng imbakan sa network na magagamit sa pamamagitan ng mga protocol tulad ng NBD, Fiber Channel, iSCSI at AoE sa lokal na imbakan batay sa SSD o NVMe.

Ang dm-clone code ay na-optimize para sa maliit na mga random na pagsusulat na ang laki ay tumutugma sa laki ng block (4K bilang default).

Sa panahon ng proseso ng pag-clone, ang mga nabasa na kahilingan ay hahantong sa isang direktang kahilingan para sa data mula sa na-clone na aparato at ang mga kahilingan sa pagsulat na nakakaapekto sa mga lugar na hindi pa nai-sync ay maaantala hanggang sa makumpleto ang hindi nakaiskedyul na pag-load ng mga hiniling na bloke (ang mga pagpapatakbo ng paglo-load para sa pagrekord -mga kaagad na bloke na magkakaugnay magsimula kaagad).

Ang mga bloke na tinanggal ng operasyon na "itapon" ay hindi kasama sa proseso ng kopya (pagkatapos ng pag-mount, ang gumagamit ay maaaring magpatupad ng "fstrim / mnt / cloned-fs" upang maiwasan ang pagkopya ng mga bloke na hindi ginagamit sa FS).

Impormasyon tungkol sa mga pagbabago at data sa mga na-load na bloke nakaimbak ang mga ito sa isang hiwalay na lokal na talahanayan ng metadata.

Matapos makumpleto ang pag-clone, makakatanggap ang gumagamit ng isang buong gumaganang kopya ng pinagmulang aparato, na sumasalamin sa lahat ng mga pagbabagong nagawa mula nang magsimula ang pag-clone.

Maaari mong i-drop ang isang table na may clone metadata pagkatapos ng pag-sync sa pamamagitan ng pagpapalit nito sa isang talahanayan ng mga linya na direktang sumasalamin ng data sa isang bagong aparato.

Ang pangunahing pagkakaiba sa mga solusyon na batay sa Unionfs at OverlayFS ay ang dm-clone na gumagana sa antas ng aparato ng block, hindi alintana ang system ng file na ginagamit sa aparatong ito, at bumubuo ng isang kumpletong kopya ng pinagmulang aparato at hindi nagpapataw ng isang karagdagang layer. ay sinusubaybayan.

Hindi tulad ng dm-mirror, ang module ng dm-clone ay orihinal na idinisenyo upang gumana lamang sa orihinal na seksyon sa read-only mode, nang hindi isinasalin ang mga pagpapatakbo ng pagsulat dito.

Sa dm-snapshot, ang isang buong kopya ay hindi nilikha at ang kopya sa background ay hindi suportado. Sa dm-cache, isang buong kopya ay hindi nilikha, isulat ang mga pagpapatakbo, at ang trabaho ay nabawasan sa mga pag-hit sa cache. Ang pinakamalapit na pag-andar ay dm-manipis.

Gumagamit ang dm-clone ng dm-kcopyd upang kopyahin ang mga bahagi ng pinagmulang aparato sa target na aparato. Bilang default, ang mga kahilingan sa kopya ng isang sukat na katumbas ng laki ng rehiyon ay inisyu.

Maaaring magamit ang isang mensahe na `hydration_batch_size <#regions>` upang ayusin ang laki ng mga kahilingan sa kopya na ito. Ang pagdaragdag ng laki ng laki ng hydration batch ay nagreresulta sa dm-clone na sinusubukang i-grupo ang magkadikit na mga rehiyon nang magkasama, kaya nag-kopya kami ng data ng kopya mula sa maraming mga rehiyon.

Fuente: https://git.kernel.org


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.