Apple Mac at mga magarbong device. LTO, SAS, Fiber Channel, eSATA

Ang paksa ng artikulong ito ay pagkonekta ng mga panlabas na device sa isang Mac sa pamamagitan ng SAS, Fiber Channel (FC), mga interface ng eSATA. Sabihin kaagad na upang malutas ang problema sa pag-access sa mga naturang device, mayroong isang paraan para sa isang malusog na tao: bumuo ng isang murang PC, magsaksak ng isang HBA SAS o FC controller card (halimbawa, isang simpleng LSI adapter), ikonekta ang iyong mga device sa controller na ito, i-install ang anumang Linux sa PC at magtrabaho mula sa Mac sa pamamagitan ng network. Ngunit ito ay karaniwan at hindi kawili-wili. Pupunta kami sa hardcore na ruta at ikonekta ang aming mga device Direktang kay Mac.

Ano ang kailangan namin para dito:
– isang disenteng halaga ng pera upang makabili ng bagong kagamitan, o good luck sa mga auction sa eBay (kung saan, sa kaunting pagsisikap, maaari kang bumili ng kinakailangang kagamitan ng mga nakaraang henerasyon ng 10 beses na mas mura kaysa sa listahan ng presyo);
- Ang artikulong ito.

Upang gumana sa magnetic tape (ngayon ay halos pangkalahatang kinakatawan sa LTO format), dapat ay mayroon kang LTO tape drive (streamer) o tape library. Ito ay isang medyo mahal na aparato para sa paunang pagbili (mula sa daan-daang libong rubles), ngunit nagkakahalaga ng isang makatwirang halaga ng pera kapag bumibili na ginamit. Dahil ang mga henerasyon ng LTO ay nagbabago ng humigit-kumulang bawat dalawang taon, at ang pagiging tugma ay limitado sa dalawang henerasyon, ang pangalawang merkado ay lubos na puspos ng mga magagamit na device apat na taon o higit pa, i.e. ang henerasyon bago ang huling at higit pa. Kung bumili ka ng bagong device para sa mga layuning pangkomersyo, naiintindihan mo mismo kung bakit mo ito kailangan. Kung gusto mong bumili para sa iyong tahanan at pamilya, maaari mong isaalang-alang ang pagpipiliang ito bilang isang paraan sa pag-archive ng impormasyon (dahil ang media mismo ay napakamura kada 1 gigabyte).

Simula sa henerasyon ng LTO-5 (at bahagyang LTO-4), ang mga device para sa pagtatrabaho gamit ang magnetic tape ay konektado sa hardware sa computer sa pamamagitan ng SAS o FC interface (karaniwang mayroong dalawang bersyon ng bawat device)

Sa kabilang banda, mabait na binibigyan kami ng Apple ng USB-C interface sa aming Mac (gumagana gamit ang USB, Thunderbolt 3 o DisplayPort protocol), minsan ay isang Ethernet interface, pati na rin ang pagmamay-ari na Thunderbolt 3 - Thunderbolt 2 at Thunderbolt - FireWire 800 mga adaptor.

Stalemate? Hindi naman. Sa kabutihang palad, ang Thunderbolt ay maaaring gumana sa PCIe mode at payagan ang mga PCIe card na konektado sa parehong paraan na parang naka-install ang mga ito nang direkta sa loob ng computer case. Dahil dito, posible ang anumang pagpapalawak ng configuration ng Mac hardware, kung mayroong naaangkop na adapter at mga driver.

Sa konsepto, ang pinakasimpleng paraan upang malutas ang problema ay isang panlabas na kahon para sa mga PCIe adapter na may Thunderbolt interface (PCIe card expansion system), kung saan maaari kang mag-install ng SAS o FC Host bus adapter (HBA). Halimbawa, ang mga naturang kahon ay ginawa ng kumpanya Soneto at ilang iba pa. Mayroong isang nuance dito: hindi lahat ng controller ay angkop para sa amin, ngunit isa lamang na may driver para sa macOS. Iilan lamang ang gayong mga board, at ang mga pinakamurang at pinakasikat (halimbawa, ang parehong LSI) ay hindi kasama sa kanilang numero. Sa kabutihang palad, kinuha ni Sonnet ang problema sa pag-compile talahanayan ng pagiging tugma Mga PCIe card na may iba't ibang OS sa pamamagitan ng interface ng Thunderbolt.

Ang isa pang solusyon ay ang pagbili ng isang handa na Thunderbolt - SAS o Thunderbolt - FC interface converter, na, sa katunayan, ay isang handa na pagpupulong ng isang kahon at isang controller. Ang pinakasikat na kumpanya sa lugar na ito ATTO, ngunit mayroon ding mga produkto mula sa ibang mga kumpanya.

Tandaan na hindi lahat ng SAS at FC controllers ay sertipikadong sumunod sa pamantayan ng LTO, dahil ito mismo ay nagkakahalaga ng pera. Direktang isinulat ng ilang mga tagagawa na ang kanilang mga controller ay hindi idinisenyo upang gumana sa mga tape drive.

Upang makumpleto ang larawan, tandaan namin na ang mLogic ay gumagawa pag-aayos, na isang IBM LTO-8 drive sa isang panlabas na kaso, kung saan ang isang SAS sa Thunderbolt converter ay agad na isinama. Gayunpaman, ito ay isang mas kakaibang bagay kaysa sa lahat ng inilarawan sa itaas, lalo na ng mga pamantayan ng ating rehiyon. Duda ako na ang device na ito ay maaaring legal na ma-import sa Russia (ang mga LTO drive ay naglalaman ng mga cryptographic na feature, at ang mga manufacturer gaya ng IBM at HP ay tumatanggap ng pahintulot sa pag-import ng FSB para sa bawat modelo para sa kadahilanang ito).

Susunod, isasaalang-alang namin, bilang isang halimbawa, ang isang tiyak na hanay ng mga kagamitan, ang may-ari kung saan ang may-akda ay naging resulta ng maraming matagumpay na pagkuha, ngunit ang pangkalahatang prinsipyo ay dapat na mapanatili para sa lahat ng mga pagpipilian.

Kaya mayroon kaming mga sumusunod na kagamitan para sa pagtatrabaho sa tape:
– Apple Mac mini 2018 computer na may macOS 10.15 Catalina, na mayroong USB-C port na may suporta sa Thunderbolt 3;
– Apple Thunderbolt 3 / Thunderbolt 2 adapter;
– Apple Thunderbolt 2 cable;
– ATTO ThunderLink SH 1068 interface converter (2*Thunderbolt / 2*SAS-2);
– SAS cable SFF-8088 – SFF-8088;
– tape drive LTO-5 IBM TS2350;
– LTO-5 cartridges, cleaning cartridge.

Ngayon, gaya ng sinasabi nila, sa lahat ng bagay na ito ay susubukan nating alisin.

Dina-download namin mula sa website ng ATTO ang pinakabagong bersyon ng driver ng ThunderLink SH 1068 (tila, para sa aming kaginhawahan, pinagsama ito sa driver ng SH 2068 at matatagpuan sa seksyon 2068, na nakasulat lamang sa loob ng archive kasama ang driver) at ang Utility ng pagsasaayos ng ATTO.

Apple Mac at mga magarbong device. LTO, SAS, Fiber Channel, eSATA

Ang driver, siyempre, ay nangangailangan ng pag-install. Bago ang mga naturang aksyon, pinapayuhan ng may-akda na palaging kumuha ng snapshot ng APFS file system ng boot disk gamit ang command

tmutil localsnapshot

o isang backup na kopya ng boot disk, kung mayroon itong HFS+. Hindi mo malalaman. Pagkatapos ay magiging madaling i-roll pabalik mula sa snapshot.

Susunod, ang walang karanasan ngunit angkop na pag-iisip ay walang alinlangan na maingat na basahin ang mga tagubilin sa pag-install ng driver ng ATTO at sundin ang mga ito. Bilang resulta - tadam! – nakakakuha kami ng operating system na nakabitin sa yugto ng paglo-load. Dito maaaring kailanganin natin ang isang snapshot kung saan tayo makakabawi sa pamamagitan ng pagtawag sa Time machine mula sa recovery partition, o mula sa parehong recovery partition na maaari nating manual na burahin ang may sakit na kext mula sa kernel extensions directory (karaniwang hindi inirerekomenda ng may-akda na gawin ito).

Bakit ito nangyayari? Dahil si Apple ang nag-aalaga sa amin. Sa mga kamakailang bersyon ng macOS, hindi ka madaling makapag-inject ng foreign code sa proseso ng boot. Hinarangan ng mabubuting programmer ng Apple ang mapanirang pag-uugaling ito. Mas tiyak, hinarangan nila ito sa kalahati, kapag ang inaasahan ng driver ay ipinatupad, ngunit ang driver mismo ay hindi, kaya ang lahat ay nag-freeze lamang.

Ano ang dapat gawin ng isang sopistikadong isip bago mag-install ng driver? Una, ibigay ang utos:

csrutil status

Kung bilang tugon dito natatanggap namin ang:

Status ng Proteksyon sa Integridad ng System: pinagana.

nangangahulugan ito na ang mabubuting programmer ng Apple ay nagmamalasakit sa amin, kaya walang gagana para sa amin hangga't hindi namin pinagana ang kanilang mahusay na proteksyon. Upang gawin ito, i-reboot ang partition sa pagbawi (⌘R), tawagan ang terminal at ibigay ang command:

csrutil disable

Pagkatapos nito, nag-reboot kami sa gumaganang sistema, at pagkatapos lamang i-install ang driver, at sa parehong oras ang ATTO configuration utility (sa prinsipyo, ang configuration utility ay kailangan lamang para sa mga diagnostic at hindi kinakailangan sa panahon ng normal na operasyon). Habang tinanong, kinukumpirma namin ang awtorisasyon ng ATTO sa mga setting ng system. Pagkatapos ng pag-install, maaari kang mag-reboot muli sa partition ng pagbawi at ibigay ang utos

csrutil enable

Inaalagaan na naman tayo ni Apple.

Ngayon ay mayroon na kaming interface na suportado ng driver sa mga panlabas na SAS device (o FC, kung ginamit ang FC converter). Ngunit paano magtrabaho sa tape sa lohikal na antas?

Tulad ng alam ng walang karanasan ngunit matalinong pag-iisip, ang anumang Unix-compatible system ay sumusuporta sa mga tape drive sa antas ng kernel at mga pangunahing kagamitan ng system, na pangunahing kinabibilangan ng mt (tape management) at tar (archiver na sumusuporta sa pagtatrabaho sa mga archive sa tape) . Gayunpaman, ano ang masasabi ng isang sopistikadong isip tungkol dito? Anumang Unix-compatible system, maliban sa macOS. Inalagaan kami ng Apple sa pamamagitan ng pag-alis ng suporta para sa mga tape device mula sa code nito.

Ngunit talagang imposibleng ibalik ang code na ito sa pamamagitan ng pag-port ng karaniwang open-source na Unix utilities sa macOS? Ang magandang balita ay nagawa na ito ni Tolis (na hindi ko nili-link) sa kanilang produkto na Tolis Tape Tools. Ang masamang balita ay ang nabanggit na kumpanya ay nagkakahalaga ng $399 upang magamit ang mga resulta ng trabaho nito. Ang mga pagtatantya ng katotohanang ito ay maaaring mag-iba, ngunit ang may-akda ay hindi handang magbayad ng isang tao ng 400 bucks para sa isang code na karamihan ay isinulat ng ganap na magkakaibang mga tao at bukas na ginagamit mula noong 1970s, at samakatuwid ang may-akda ay nagtatanong ng tanong na ito para sa kanyang sarili itinuturing na sarado. (Sa pamamagitan ng paraan, mayroong isang libreng proyekto na inabandona sa isang hindi malinaw na estado sa Github IOSCSITape sa parehong paksa).

Sa kabutihang palad, mayroong korporasyon ng IBM sa mundo, na ang mga komersyal na gana ay nasa isang ganap na naiibang sukat, at samakatuwid ay hindi nagpapakita ng kanilang sarili sa bawat maliit na bagay. Sa partikular, binuo nito ang open-source na LTFS tape file system, na ipinamahagi din para sa macOS.

Ang caveat dito ay ang iba't ibang mga tagagawa ng tape device ay naglalabas ng kanilang sariling mga bersyon ng LTFS upang suportahan ang kanilang mga device. Dahil ang may-akda ay gumagamit ng isang IBM tape drive, nag-install siya ng LTFS mula sa IBM. Ang mga third party na drive ay maaaring mangailangan ng sarili nilang mga LTFS port. At mayroong isang unibersal na pagpapatupad ng openLTFS sa Github at Homebrew.

Mahalaga para sa amin na ang LTFS ay gumagamit ng media partitioning function, at samakatuwid ay maaaring gumana sa mga device at cartridge simula sa LTO-5 generation.

Kaya, sa aming kaso, dina-download namin ang IBM Spectrum Archive Single Drive Edition para sa macOS mula sa website ng IBM, na kinabibilangan ng pagpapatupad ng LTFS. Nang walang anumang pakikipagsapalaran, ini-install namin ang produkto gamit ang sarili nitong installer. Sa kahabaan ng paraan, ini-install din niya ang FUSE package, at sa mga setting ng system kailangan niyang kumpirmahin ang pahintulot ng isang matalinong programmer na nagngangalang Anatol Pomozov, kung kanino sa kasong ito ang buong IBM ay nakasalalay. Respeto at respeto sa lalaking ito.

Maipapayo na agad na isulat ang linya sa file /Library/Frameworks/LTFS.framework/Versions/Current/etc/ltfs.conf.local:

opsyon na single-drive sync_type=time@1

na tumutukoy na ang tape ay naka-mount bilang default at ang recording buffer ay na-reset pagkatapos ng 1 minuto ng kawalan ng aktibidad (default ay 5 minuto).

Apple Mac at mga magarbong device. LTO, SAS, Fiber Channel, eSATA

Sa wakas, handa na ang lahat upang kumonekta. Ikinonekta namin ang chain: Mac – T3/T2 adapter – Thunderbolt cable – ATTO converter – SAS cable – tape drive (hindi mahalaga ang pagpili ng ilang port sa Mac, converter at drive). I-on ang kapangyarihan ng converter. I-on ang power sa tape drive. Hinihintay namin na makumpleto ng drive ang pagsisimula ayon sa indikasyon nito.

Nagbibigay kami ng utos:

ltfs -o device_list

Hooray! Nakukuha namin (sa karaniwang paraan ng diagnostic ng IBM):

307 LTFS14000I LTFS simula, LTFS version 2.4.2.0 (10418), log level 2.
307 LTFS14058I LTFS Format Specification bersyon 2.4.0.
307 LTFS14104I Inilunsad ng "ltfs -o device_list".
307 LTFS14105I Ang binary na ito ay binuo para sa Mac OS X.
Ang 307 LTFS14106I GCC na bersyon ay 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Bersyon ng Kernel: Bersyon ng Darwin Kernel 19.4.0: Miy Mar 4 22:28:40 PST 2020; ugat:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS17085I Plugin: Nilo-load ang "iokit" tape backend.
Listahan ng Tape ng Device:.
Pangalan ng Device = 0, Vendor ID = IBM, Product ID = ULT3580-TD5, Serial Number = **********, Pangalan ng Produkto = [ULT3580-TD5].

Ipasok ang cassette, hintayin itong mag-load at mag-format:

mkltfs -d 0 -nTest -r "size=10M/name=.DS_Store"

Dito tinutukoy ng -d parameter ang numero ng drive (palaging zero kung ito ay isa lamang, ngunit hindi maaaring tanggalin sa command na ito), -n ay ang pangalan ng tape (maaari mong alisin ito), at ang -r parameter ay nangangailangan ng paglalagay ng mga nilalaman ng .DS_Store na mga file na hindi lalampas sa laki na 10 megabytes, sa index (i.e., inilaan para sa mga direktoryo) na seksyon ng tape sa halip na sa seksyon ng data.

Nagsimula ang misteryosong buhay sa tape drive. Naghihintay kami ng ilang minuto at natanggap namin ang sumusunod na tugon:

LTFS15000I Starting mkltfs, LTFS version 2.4.2.0 (10418), log level 2.
LTFS15041I Inilunsad ng "mkltfs -d 0 -nTest -r size=10M/name=.DS_Store".
LTFS15042I Ang binary na ito ay binuo para sa Mac OS X.
Ang bersyon ng LTFS15043I GCC ay 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
LTFS17087I Bersyon ng Kernel: Bersyon ng Darwin Kernel 19.4.0: Miy Mar 4 22:28:40 PST 2020; ugat:xnu-6153.101.6~15/RELEASE_X86_64.
LTFS15003I Pag-format ng device na '0'.
LTFS15004I LTFS na dami ng blocksize: 524288.
LTFS15005I Patakaran sa paglalagay ng partition ng index: laki=10M/pangalan=.DS_Store.

LTFS11337I I-update ang index-dirty flag (1) - NO_BARCODE (0x0x1021081e0).
LTFS17085I Plugin: Nilo-load ang "iokit" tape backend.
LTFS30810I Pagbukas ng device sa pamamagitan ng iokit driver (0).
Ang LTFS30814I Vendor ID ay IBM.
Ang LTFS30815I Product ID ay 'ULT3580-TD5'.
Ang LTFS30816I Firmware revision ay H976.
Ang serial ng LTFS30817I Drive ay **********.
LTFS17160I Ang maximum na laki ng block ng device ay 1048576.
LTFS11330I Naglo-load ng cartridge.
Ang LTFS30854I Logical block protection ay hindi pinagana.
Matagumpay ang pag-load ng LTFS11332I.
LTFS17157I Ang pagpapalit ng setting ng drive sa write-anywhere mode.
LTFS15049I Sinusuri ang medium (mount).
Ang LTFS30854I Logical block protection ay hindi pinagana.
LTFS15010I Paglikha ng data partition b sa SCSI partition 1.
LTFS15011I Paglikha ng index partition a sa SCSI partition 0.
LTFS17165I Nire-reset ang proporsyon ng kapasidad ng medium.
LTFS11097I Paghahati sa daluyan.
LTFS11100I Pagsusulat ng label sa partition b.
LTFS11278I Pagsusulat ng index sa partition b.
Ang LTFS30808I READ_ATTR (0x8c) ay nagbabalik -20501.
Ang LTFS30865I READ_ATTR ay nagbabalik ng Invalid na Field sa CDB (-20501) 0.
LTFS30836I Hindi mabasa ang katangian (-20501).
LTFS11336I Ang katangian ay hindi umiiral. Huwag pansinin ang inaasahang error.
LTFS17235I Writing index ng NO_BARCODE hanggang b (Dahilan: Format, 0 file) **********.
LTFS17236I Sumulat ng index ng NO_BARCODE (b, **********).
LTFS11337I I-update ang index-dirty flag (0) - NO_BARCODE (0x0x1021081e0).
LTFS11100I Pagsusulat ng label sa partition a.
LTFS11278I Writing index sa partition a.
Ang LTFS30808I READ_ATTR (0x8c) ay nagbabalik -20501.
Ang LTFS30865I READ_ATTR ay nagbabalik ng Invalid na Field sa CDB (-20501) 0.
LTFS30836I Hindi mabasa ang katangian (-20501).
LTFS11336I Ang katangian ay hindi umiiral. Huwag pansinin ang inaasahang error.
LTFS17235I Writing index ng NO_BARCODE sa isang (Dahilan: Format, 0 file) 9068025555.
LTFS17236I Sumulat ng index ng NO_BARCODE (a, **********).
LTFS15013I Volume UUID is: 3802a70d-bd9f-47a6-a999-eb74ffa67fc1.

Ang LTFS15019I Volume capacity ay 1425 GB.
Ang LTFS30854I Logical block protection ay hindi pinagana.
Matagumpay na na-format ang LTFS15024I Medium.

I-mount ang na-format na tape:

sudo mkdir /Volumes/LTFS
sudo chmod 777 /Volumes/LTFS/
sudo ltfs /Volumes/LTFS

Makakakuha kami ng ilang minuto ng pagpapatakbo ng drive at mga diagnostic:

307 LTFS14000I LTFS simula, LTFS version 2.4.2.0 (10418), log level 2.
307 LTFS14058I LTFS Format Specification bersyon 2.4.0.
307 LTFS14104I Inilunsad ng "ltfs /Volumes/LTFS/".
307 LTFS14105I Ang binary na ito ay binuo para sa Mac OS X.
Ang 307 LTFS14106I GCC na bersyon ay 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66)).
307 LTFS17087I Bersyon ng Kernel: Bersyon ng Darwin Kernel 19.4.0: Miy Mar 4 22:28:40 PST 2020; ugat:xnu-6153.101.6~15/RELEASE_X86_64.
307 LTFS14063I Ang uri ng pag-sync ay "oras", ang oras ng pag-sync ay 60 segundo.
307 LTFS17085I Plugin: Nilo-load ang "iokit" tape backend.
307 LTFS17085I Plugin: Nilo-load ang "unified" na iosched na backend.
307 LTFS14095I I-set ang tape device na write-anywhere mode para maiwasan ang cartridge ejection.
307 LTFS30810I Pagbukas ng device sa pamamagitan ng iokit driver (0).
Ang 307 LTFS30814I Vendor ID ay IBM.
Ang 307 LTFS30815I Product ID ay 'ULT3580-TD5'.
307 LTFS30816I Ang rebisyon ng firmware ay H976.
307 LTFS30817I Drive serial ay **********.
307 LTFS17160I Ang maximum na laki ng block ng device ay 1048576.
307 LTFS11330I Naglo-load ng cartridge.
307 LTFS30854I Ang proteksyon ng lohikal na block ay hindi pinagana.
307 LTFS11332I Matagumpay ang pag-load.
307 LTFS17157I Pagpapalit ng setting ng drive sa write-anywhere mode.
307 LTFS11005I Pag-mount ng volume.
307 LTFS30854I Ang proteksyon ng lohikal na block ay hindi pinagana.
307 LTFS17227I Tape attribute: Vendor = IBM.
307 LTFS17227I Tape attribute: Pangalan ng Application = LTFS.
307 LTFS17227I Tape attribute: Bersyon ng Application = 2.4.2.0.
307 LTFS17227I Tape attribute: Medium Label =.
307 LTFS17228I Tape attribute: Text Localization ID = 0x81.
307 LTFS17227I Tape attribute: Barcode =.
307 LTFS17227I Tape attribute: Bersyon ng Format ng Application = 2.4.0.
307 LTFS17228I Tape attribute: Katayuan ng Volume Lock = 0x00.
307 LTFS17227I Tape attribute: Pangalan ng Media Pool =.
307 LTFS14111I Matagumpay na nakumpleto ang paunang pag-setup.
307 LTFS14112I Invoke 'mount' command para suriin ang resulta ng huling setup.
307 LTFS14113I Ang tinukoy na mount point ay nakalista kung nagtagumpay.

At narito, ang aming ribbon sa desktop, pinangalanang Test(ltfs)! Ang hindi pinangalanang tape ay tatawaging OSXFUSE Volume 0 (ltfs).

Ngayon ay maaari mo na itong gawin.

Apple Mac at mga magarbong device. LTO, SAS, Fiber Channel, eSATA

Sa pangkalahatan, kailangan mong tandaan na ipinapayong huwag labis na gumamit ng pagtingin sa mga nilalaman ng mga direktoryo ng tape sa mga window ng tagahanap, dahil ito ay isang hindi kapani-paniwalang mahal na operasyon para sa LTFS, ngunit mas mahusay na magtrabaho kasama ang mga terminal command, o i-reset lamang ang backup na direktoryo nang maramihan sa tape, tulad ng ipinapakita sa window sa itaas.

Sa pamamagitan ng paraan, mayroong isang espesyal na nakasulat na utility ng IBM na ltfs_copy at ang mga clone nito, na idinisenyo para sa mas mahusay na pagkopya sa pagitan ng tape at disk, ngunit sa ngayon ay hindi pa nahahanap ng may-akda ang mga ito sa pampublikong domain na may mababaw na paghahanap.

Maaari mong i-unmount ang tape gamit ang command:

umount /Volumes/LTFS

o itapon na lang sa basurahan.

Sa katunayan, sa kalikasan mayroong ilang uri ng mga graphical na shell para sa macOS upang mapadali ang mga pagkilos na ito, ngunit pagkatapos ng gayong mga perversion, dapat ba tayong matakot na mag-type ng ilang linya sa terminal?

Bilang side effect, nagkakaroon kami ng pagkakataong ikonekta ang mga external na eSATA drive sa pamamagitan ng SAS/4*eSATA cable.

Apple Mac at mga magarbong device. LTO, SAS, Fiber Channel, eSATA

Pinagmulan: www.habr.com

Magdagdag ng komento