NVME TCP ile dizüstü bilgisayar klonlama
- Yakın zamanda yeni bir dizüstü bilgisayar satın aldım ve kullanım için ayarlamam gerekiyordu.
- Daha önce bilinen adımları tekrar etme konusunda hiç hevesim yoktu.
- Bir çalışma arkadaşımın önerisiyle, mevcut diski yeni dizüstü bilgisayara kopyalama yöntemini değerlendirdim.
Klonlama süreciyle ilgili sorular
- Mevcut dizüstü bilgisayarı açıp yeni diski USB ile bağlayacak bir aracım yoktu.
- Tam disk şifrelemesi kullanıyorum; mevcut dizüstü bilgisayarda 512GB, yenisinde ise 1TB NVME bulunuyor.
- LUKS bölümünü yeniden boyutlandırma konusunda deneyimli değilim.
Çalışma arkadaşımın önerisi
- Diski ağ üzerinden paylaşmak ve tam disk kopyası almak için NVME over TCP kullanmamı önerdi.
- Önerilen adımlar şunlardı:
- Mevcut dizüstü bilgisayarda
nvmet-tcp kullanarak diski dışa aktarmak.
- Yeni dizüstü bilgisayara disk kopyasını gerçekleştirmek.
- Bölümü 1TB alanın tamamını kullanacak şekilde yeniden boyutlandırmak.
- LUKS boyutunu yeniden ayarlamak.
- Son olarak BTRFS kök diskinin boyutunu yeniden ayarlamak.
NVME TCP ile diski dışa aktarma
- Bunun için en kolay yol olarak
systemd-storagetm.service kullanılması önerildi.
- Ancak bunun yerine her iki dizüstü bilgisayarı da GRML rescue CD ile başlatıp
nvmet-tcp modülünü kullanarak NVME diski dışa aktarma adımlarını uyguladım.
Disk kopyalama
- Kök diski yeni dizüstü bilgisayara kopyalamak için
dd komutunu kullandım.
- Yeni dizüstü bilgisayarda Ethernet portu olmadığı için yalnızca Wi‑Fi kullanmak zorunda kaldım ve 512GB verinin tamamını kopyalamak yaklaşık 7,5 saat sürdü.
- Kopyalama hızı yaklaşık 18-20MB/s idi.
Bölüm ve LUKS kapsayıcısını yeniden boyutlandırma
parted çalıştırıldığında, bölüm tablosunun disk boyutuyla eşleşmediğini algıladı ve düzeltme istedi.
cloud-guest-utils paketini kurup growpart kullanarak bölümü 1TB'a kadar genişlettim.
cryptsetup-resize ile LUKS kapsayıcısının boyutunu artırdım.
- Sistemde oturum açtıktan sonra BTRFS dosya sistemini yeniden boyutlandırdım.
Sonuç
- Bu sürecin tek avantajı, yeni dizüstü bilgisayarı kullanırken eski dizüstü bilgisayardaki deneyimin aynısını hissettirmesi.
- Normalde yeni bir dizüstü bilgisayarı ayarlamak 1-2 hafta sürüyor, ancak bu durumda o zamandan tasarruf edilebildi.
- Ek bir avantaj olarak, NVME over TCP ile diski dışa aktarmayı öğrenmiş oldum.
GN⁺ görüşü
- NVME over TCP ile dizüstü bilgisayar klonlama, mevcut sistem ortamını yeni donanıma hızla taşımak için verimli bir yöntem sunuyor.
- Bu teknoloji, sistem yöneticileri ve geliştiriciler için zaman kazandıran ve yapılandırma hatalarını azaltabilen ilgi çekici bir yaklaşım olabilir.
- Ancak ağ hızına büyük ölçüde bağımlıdır; yalnızca Wi‑Fi kullanıldığında ciddi zaman alabilmesi dikkate alınması gereken bir dezavantajdır.
- Benzer işlevler sunan Clonezilla veya Acronis gibi araçlar bulunsa da, NVME over TCP ağ üzerinden doğrudan disk erişimi sağlamasıyla kendine özgü bir avantaj sunar.
- Bu tekniği uygularken ağ yapılandırması, şifreli disklerin işlenmesi ve dosya sistemi yeniden boyutlandırma konularında yeterli bilgiye sahip olmak gerekir.
1 yorum
Hacker News yorumu
Yazarın senaryosunda NVMe/TCP kullanmanın bir avantajı yok. Sadece
ddile seri blok kopyalama yapıldığı için eşzamanlı I/O'dan yararlanılamıyor. Karmaşık komutlar basitnetcatile değiştirilebilir.$ nc -l -p 1234 | dd of=/dev/nvme0nX bs=1Mkullanın.$ nc x.x.x.x 1234 </dev/nvme0nXkullanın.dd, yazma işlemlerini tamponlayarak işi daha hızlı ve verimli hale getirir. Kaynak/hedef tarafınagzip/gunzipeklenirse, disk tamamen dolu değilse tüm işlem çok daha hızlı olur. Bu, ağ üzerinden PC imajı almanın en sevdiğim yolu.gzipiçin--fastseçeneğini vermek ya da daha hızlılz4/unlz4ile değiştirmek iyi olur. Kısa süre önce 1TB NVMe içeren yeni bir Windows dizüstü bilgisayarı imajlarken bunu kullandım; GigE üzerinden yaklaşık 20 dakika sürdü ve ortaya çıkan imaj 20GB oldu. Genelde bulz4imajını yedekliyorum ve birkaç yıl sonra dizüstü bilgisayarı bağışlarkenunlz4 | ddile geri yüklüyorum. Çok kullanışlı.nvme-tcpyi bilmiyordum ama insan her gün yeni bir şey öğreniyor. Bu modülün faydası,ddile ham erişim yapmaktan çok uzak NVMe üzerinde bir dosya sistemini mount etmekte.dd bs=Xargümanının teknik olarak bundan büyük olmasına gerek yok. Yine debs=1Mzararlı değil (64kB okumaları 1MB olana kadar tamponlar) ve pipe boyutu büyürse gelecekte de işe yarar. Bazınetcatsürümlerinde giriş ve çıkış blok boyutunu kontrol eden seçenekler var; bu dadd bs=Xkullanma ihtiyacını azaltıyor. Ama sistem kurtarma disklerinde genelde bu seçeneklere sahip olmayannetcatikilisi kullanılıyor.nbdkitvenbdcopykullanmak çok daha basit.nbdkit file /dev/nvme0n1nbdcopy nbd://otherlaptop localfileYeni dizüstü bilgisayarı kurmam gerektiğinde, USB-C kablosuyla 10Gb/s aktarım yapabilmek faydalı oldu. Diğer seçenek olarak yalnızca WiFi vardı.
rsyncile aktarım yapılabiliyor. Bağlantı zaten tam kapasite çalışıyor gibi göründüğünden başka bir protokol kullanmanın anlamı yok.Kısa süre önce WiFi üzerinden yaklaşık 200GB dosya kopyalamam gerekti. Bağlantı koparsa baştan başlamamak için
rsynckullandım ama yine de en az 6 saat sürdü. Daha iyi bir yöntem olup olmadığını merak ediyorum.ddyöntemiyle ne tür bir garanti elde ediliyor? Ortaya çıkan blok düzeyi aygıtın md5 değerini karşılaştırmak mı gerekir?Yazarın neden ağ üzerinden
btrfspipe etmediğini anlayamıyorum. Önce birbtrfssnapshot'ı oluşturup ardındanbtrfs send => nc => network => nc => btrfs receiveile yalnızca kullanımda olan bloklar aktarılabilirdi.Daha önce dizüstü bilgisayar aktarırken iki tarafta da
ddvencbirleştiren kurulum aracı çalıştırdım. Hatırladığım kadarıyla aktarımı hızlandırmak içingzipde eklemiştim.Clonezillakullanırsanız yalnızca gerçek veri bloklarını kopyalar ve bölümleri otomatik olarak ayarlayabilir.On yıllardır fiilen bir işletim sistemi "kurmadım"; dosyaları kopyalayıp gerektiği kadar ayarlıyorum. Genelde bunu yeni bir dosya sistemi oluşturup dosya sistemi türü/parametreleri (ör. blok boyutu), şifreleme vb. şeyleri güncellemek için bir fırsat olarak kullanıyor ve dosyaları
rsyncile aktarıyorum.NixOSgibi daha deklaratif bir yaklaşım daha iyi olabilir. Burada yalnızca yapılandırmayı kopyalayıp sonra her şeyi otomatik olarak yeniden kurabilirsiniz.FDT'den (Fast Data Transfer) hiç bahsedilmemiş.
-limit <rate>seçeneğiyle aktarım hızını belirtilen değerde sınırlayabilirsiniz. Sonek olarak K(KiloBytes/s), M(MegaBytes/s), G(GigaBytes/s) kullanılabilir.