Mengkloning Laptop dengan NVME TCP
- Baru-baru ini membeli laptop baru dan perlu menyiapkannya untuk digunakan.
- Tidak punya motivasi untuk mengulang langkah-langkah yang sudah umum diketahui.
- Atas saran rekan kerja, mempertimbangkan cara menyalin disk lama ke laptop baru.
Pertanyaan tentang proses kloning
- Tidak punya alat untuk membuka laptop lama dan menghubungkan disk baru melalui USB.
- Menggunakan enkripsi seluruh disk, dan laptop lama memakai NVME 512GB, sedangkan laptop baru memakai NVME 1TB.
- Tidak terbiasa mengubah ukuran partisi LUKS.
Saran dari rekan kerja
- Disarankan menggunakan NVME over TCP untuk membagikan disk melalui jaringan dan melakukan penyalinan seluruh disk.
- Langkah-langkah yang disarankan adalah sebagai berikut:
- Mengekspor disk dari laptop lama menggunakan nvmet-tcp.
- Melakukan penyalinan disk ke laptop baru.
- Mengubah ukuran partisi agar menggunakan seluruh kapasitas 1TB.
- Mengubah ukuran LUKS.
- Terakhir, mengubah ukuran disk root BTRFS.
Mengekspor disk melalui NVME TCP
- Disarankan bahwa cara termudah adalah menggunakan
systemd-storagetm.service.
- Sebagai gantinya, kedua laptop di-boot dengan GRML rescue CD dan dilakukan langkah untuk mengekspor disk NVME menggunakan modul nvmet-tcp.
Menyalin disk
- Menggunakan perintah
dd untuk menyalin disk root ke laptop baru.
- Karena laptop baru tidak memiliki port Ethernet, hanya bisa menggunakan Wi-Fi, dan menyalin seluruh 512GB memakan waktu sekitar 7 jam 30 menit.
- Kecepatan penyalinan sekitar 18-20MB/s.
Mengubah ukuran partisi dan kontainer LUKS
- Saat menjalankan
parted, terdeteksi bahwa tabel partisi tidak cocok dengan ukuran disk dan diminta untuk memperbaikinya.
- Menginstal
cloud-guest-utils lalu menggunakan growpart untuk memperluas partisi hingga 1TB.
- Menggunakan
cryptsetup-resize untuk memperbesar ukuran kontainer LUKS.
- Setelah login ke sistem, ukuran file system BTRFS diubah.
Kesimpulan
- Satu-satunya keuntungan dari proses ini adalah laptop baru bisa terasa sama persis seperti saat menggunakan laptop lama.
- Menyiapkan laptop baru biasanya memakan waktu 1–2 minggu, tetapi dalam kasus ini waktu tersebut bisa dihemat.
- Ada keuntungan tambahan berupa mempelajari cara mengekspor disk menggunakan NVME over TCP.
Opini GN⁺
- Mengkloning laptop dengan NVME over TCP menawarkan cara yang efisien untuk memindahkan lingkungan sistem yang ada ke perangkat keras baru dengan cepat.
- Teknik ini bisa menarik bagi administrator sistem atau pengembang karena dapat menghemat waktu dan meminimalkan kesalahan konfigurasi.
- Namun, metode ini sangat bergantung pada kecepatan jaringan, dan jika hanya menggunakan Wi-Fi, waktu yang dibutuhkan bisa cukup lama, sehingga hal ini menjadi kekurangan yang perlu dipertimbangkan.
- Ada alat seperti Clonezilla atau Acronis yang menyediakan fungsi serupa, tetapi NVME over TCP memiliki keunggulan unik berupa akses disk langsung melalui jaringan.
- Saat menerapkan teknik ini, diperlukan pengetahuan yang memadai tentang konfigurasi jaringan, penanganan disk terenkripsi, dan pengubahan ukuran file system.
1 komentar
Komentar Hacker News
Dalam skenario penulis, tidak ada keuntungan menggunakan NVMe/TCP. Karena hanya memakai
dduntuk melakukan penyalinan blok serial, I/O paralel tidak bisa dimanfaatkan. Perintah-perintah yang rumit itu bisa diganti dengannetcatyang sederhana.$ nc -l -p 1234 | dd of=/dev/nvme0nX bs=1M.$ nc x.x.x.x 1234 </dev/nvme0nX.ddmelakukan buffering pada operasi tulis sehingga lebih cepat dan efisien. Jika menambahkangzip/gunzipdi sisi sumber/tujuan, seluruh proses bisa jauh lebih cepat bila disk tidak terisi penuh. Ini adalah cara favorit untuk membuat image PC lewat jaringan. Sebaiknya berikan opsi--fastpadagzip, atau ganti denganlz4/unlz4yang lebih cepat. Saya baru-baru ini memakainya saat membuat image laptop Windows baru dengan NVMe 1TB; lewat GigE butuh sekitar 20 menit, dan image hasilnya berukuran 20GB. Biasanya saya menyimpan imagelz4ini sebagai cadangan, lalu memulihkannya beberapa tahun kemudian denganunlz4 | ddsaat laptop akan didonasikan. Sangat praktis.nvme-tcp, tetapi setiap hari selalu belajar hal baru. Kegunaan modul ini lebih cocok untuk me-mount filesystem pada NVMe jarak jauh daripada mengaksesnya secara mentah dengandd.dd bs=Xsecara teknis tidak perlu lebih besar dari itu. Namun,bs=1Mjuga tidak merugikan (karena pembacaan 64kB akan dibuffer sampai mencapai 1MB) dan tetap berguna di masa depan bila ukuran pipe meningkat. Beberapa versinetcatpunya opsi untuk mengontrol ukuran blok input dan output, sehingga kebutuhan memakaidd bs=Xberkurang, tetapi pada disk pemulihan sistem biasanya yang tersedia adalah binernetcattanpa opsi tersebut.Menggunakan
nbdkitdannbdcopyjauh lebih sederhana.nbdkit file /dev/nvme0n1nbdcopy nbd://otherlaptop localfileSaat harus menyiapkan laptop baru, menggunakan kabel USB-C untuk transfer 10Gb/s ternyata berguna. Selain itu, satu-satunya opsi lain hanyalah WiFi.
rsync. Tautannya tampak sudah jenuh, jadi memakai protokol lain sepertinya tidak ada gunanya.Baru-baru ini saya harus menyalin sekitar 200GB file lewat WiFi. Saya memakai
rsyncagar tidak perlu mulai dari awal jika koneksi putus, tetapi tetap memakan waktu setidaknya 6 jam. Saya penasaran apakah ada cara yang lebih baik.dd? Apakah perlu membandingkan md5 dari perangkat blok hasilnya?Saya tidak mengerti kenapa penulis tidak mem-pipe
btrfslewat jaringan. Buat dulu snapshotbtrfs, lalu gunakanbtrfs send => nc => network => nc => btrfs receiveagar hanya blok yang sedang digunakan yang ditransfer.Saat memindahkan laptop sebelumnya, saya menjalankan installer yang menggabungkan
dddanncdi kedua sisi. Kalau tidak salah ingat, saya juga menambahkangzipagar transfer lebih cepat.Dengan
Clonezilla, Anda bisa menyalin hanya blok data yang benar-benar terpakai dan menyesuaikan partisi secara otomatis. Saya selalu memakai cara ini.Sudah puluhan tahun saya sebenarnya tidak lagi "menginstal" OS; saya cukup menyalin file dan menyesuaikannya sesuai kebutuhan. Biasanya ini juga jadi kesempatan untuk membuat filesystem baru dan memperbarui tipe/parameter filesystem (misalnya ukuran blok), enkripsi, dan sebagainya, lalu mentransfer file dengan
rsync.NixOSmungkin lebih baik. Di sana Anda cukup menyalin konfigurasinya lalu memasang ulang semuanya secara otomatis.Tidak ada penyebutan tentang FDT (Fast Data Transfer).
-limit <rate>, kecepatan transfer bisa dibatasi ke laju tertentu. Sufiks K(KiloBytes/s), M(MegaBytes/s), G(GigaBytes/s) dapat digunakan.