Synopsis
cvupdatefs [-bdfFhlnSv] [-c yol_adı] [[-M] -R YeniBirimAdı] [BirimAdı] [BirimYolu]
Description
cvupdatefs programı, bir Xsan birimine (volume) yapılandırma değişikliğini uygulamak için kullanılır. Olası yapılandırma değişiklikleri arasında depolama havuzu (storage pool) listesinin değiştirilmesi ve birim günlüğü (volume journal) değişikliği yer alır.
Birim güncelleme programı, Dosya Sistemi Yöneticisi'nin (FSM - File System Manager) çalıştığı makinede çalıştırılmalıdır. Bu yardımcı araç, yapılandırma dosyasını okur ve yapılandırma dosyasını diskteki mevcut meta veri yapılandırması ile karşılaştırır. Yapılandırma ile diskteki meta veriler arasında farklar varsa, yardımcı araç birim meta verilerini güncel hale getirmek için hangi değişikliklerin yapılması gerektiğini görüntüler.
NOT: Tüm meta veri değişiklikleri durdurulmuş bir birim üzerinde yapılmalıdır. Bir birim yapılandırmasında herhangi bir değişiklik yapmadan önce birimin durdurulması ve cvfsck(8) programının çalıştırılmış olması önerilir. Orijinal birim yapılandırma dosyasının yedeklenmesi de şiddetle tavsiye edilir.
Başarılı bir güncelleme tamamlandığında, yeni yapılandırma dosyası diskteki meta verilerde saklanır ve bir önceki yapılandırma dosyası şu yola kaydedilir:
/Library/Logs/Xsan/data/
Options
-b: Derleme bilgisi - derleme bilgilerini günlüğe kaydeder.
-c yol_adı Kullanılacak önceki yapılandırma dosyası için belirli bir yol sağlar. Bu seçenek, kapasite veya şerit grubu (stripe group) genişletmesi ya da herhangi bir günlük (journal) değişikliği yapılmadan önce birim meta verilerinin tutarlı olduğundan emin olmak için cvfsck programını bir alt süreç olarak çalışmaya zorlar.
-d: Hata Ayıklama - yalnızca dahili hata ayıklamayı açmak için kullanılır.-F: Zorla (Force). Bu seçenek kullanımdan kaldırılmış ve yerine -y getirilmiştir. Bu seçenekle aynı eyleme neden olacaktır.-f: Başarısızlık modu - bir yapılandırma uyumsuzluğu veya tespit edilen diğer ciddi anormal durumlar varsa başarısız olmaz. Not: Bu seçenek genel kullanım için tasarlanmamıştır. Yalnızca Apple destek ekibi tarafından talimat verildiğinde kullanın. Hatalı kullanım, kullanılamaz bir dosya sistemiyle sonuçlanabilir.-h: Yardım - bu komutun özetini (synopsis) yazdırır.-l: Günlük - güncelleme bittiğinde bunu günlüğe kaydeder.-n: Salt Okunur - meta verileri salt okunur moda ayarlar.-M: -R seçeneğiyle yönetilen (managed) dosya sistemlerine izin verir.
-R YeniBirimAdı Yeniden Adlandır (Rename) - Mevcut bir yönetilmeyen birimi yeniden adlandırmak için yeni bir birim adı sağlar. Yönetilen bir dosya sistemini yeniden adlandırmak için -M ile birlikte kullanın.
Mevcut yapılandırma dosyası yeniden adlandırılacak ve günlükleri içeren mevcut veri dizini yeni ada taşınacaktır. Bu seçeneğin kullanımına ilişkin ayrıntılı bilgi için aşağıdaki bölüme bakın.
-s: Dilim yeniden oluşturma - Serbest dilim ağaçlarını (free slice trees) en uygun boyutlarına yeniden oluşturur. Bir depolama havuzundaki LUN'lar genişletilirken, varsayılan olarak ek boş alanı tutmak için yalnızca yeterli miktarda ek dilim ekleyecektir. -s seçeneği verildiğinde, bunun yerine dilim ağaçlarını yeniden oluşturacaktır, bu da genellikle daha büyük dilimlerle sonuçlanır. LUN'lar daha önce genişletilmişse, bu seçenek LUN'ları genişletmeden dilim ağaçlarının yeniden oluşturulmasını sağlayacaktır.-S: Durum - durum plist dosyasını /var/run/cvupdatefs_status_.plist yoluna yazar. -U: Bir depolama havuzu eklendiğinde, eklenen depolama havuzuna dahil olan disklerin, küme (cluster) tarafından görülebilen başka bir dosya sisteminde şu anda kullanımda olup olmadığını kontrol eder. Bazı yapılandırmalarda bu işlem uzun sürebilir. Kullanımda olan diskler varsa işlem iptal edilir.-v: Ayrıntılı - ayrıntılı raporlama yöntemlerini etkinleştirir.-y: Evet - İstemi atlar ve devam etmeyle ilgili temel uyarıya evet yanıtını verir. İstem uyarısı olağan dışı bir durum içinse, bu seçenek o istemi atlamaz.-W: Değişiklikleri uygularken yazarken kopyala (copy-on-write - COW) özelliğini kullanmaz.
Birim yapılandırması şerit grubu veya günlük değişikliklerini yansıtacak şekilde değiştirildikten sonra cvupdatefs yardımcı aracı çalıştırılabilir. cvupdatefs çalıştırıldığında, değiştirilecek depolama havuzlarının bir listesini görüntüler ve ardından bir onay istemi sunar. Bu liste, yapılandırma dosyasında yapılan değişiklikleri doğru şekilde yansıtıyorsa, istemde 'yes' (evet) yanıtı verilmesi yardımcı aracın gerekli değişiklikleri yapmasına izin verecektir.
Yardımcı araç işlemi tamamladıktan sonra birim tekrar başlatılabilir. Birim başlatıldıktan sonra, yeni depolama havuzlarını doğrulamak için cvadmin(8) içindeki 'show' komutu kullanılabilir. 'show' komutu, yeni oluşturulan depolama havuzu (veya havuzları) dahil olmak üzere birimdeki tüm şerit gruplarını listeleyecektir. Ayrıca, birim günlüğünün konumu değiştiyse bu durum da cvadmin 'show' komutuyla yansıtılacaktır.
Warnings
cvupdatefs çalıştırılmadan önce birimin tutarlılığının doğru olması çok önemlidir. Birim hatalı bir durumdaysa, cvupdatefs veri bozulmasına yol açabilir. Herhangi bir değişiklik yapılmadan önce birim üzerinde cvfsck çalıştırılması önerilir. cvfsck temiz bir birimle sonuçlanmazsa, birim temizlenene kadar herhangi bir yapılandırma değişikliği yapmayın.
Adding A Storage Pool
Depolama havuzları eklemenin ilk adımı, istenen değişiklikleri yansıtacak şekilde birimin yapılandırma dosyasını değiştirmektir. Birim yapılandırma biçimiyle ilgili notlar için snfs_config(5) dosyasına bakın. StripeGroup yapılandırma girişlerini eklemeye ek olarak, yeni diskler için ilgili Disk ve DiskType girişleri de dahil edilmelidir.
Şu anda, yapılandırma dosyasındaki ve meta verilerdeki depolama havuzlarının sırası eşleşmelidir. Bu nedenle, yapılandırma dosyasına yeni depolama havuzu yapılandırma girişleri eklenirken, bunlar her zaman StripeGroup yapılandırma bölümünün sonuna eklenmelidir. Dosyanın sonu dışında herhangi bir yerde yeni bir depolama havuzu tespit edilirse cvupdatefs işlemi iptal edecektir.
MEVCUT BİR DEPOLAMA HAVUZUNUN ŞERİT DERİNLİĞİNİ ARTIRMAK Uyarı: Bu seçenek önerilmez ve kullanımı kullanımdan kaldırılmıştır. Bir dosya sisteminin kapasitesini genişletmek için yeni bir şerit grubu eklemek önerilen yöntemdir.
Şerit derinliği (stripe depth), depolama havuzundaki disk sayısıdır ve gerçekleştirilebilecek paralel G/Ç (I/O) miktarı için önemli bir faktördür. Bu seçimin ideal olarak birim oluşturulmadan önce yapılması gerekir, böylece cvupdatefs'in depolama havuzuna diskler ekleyerek bu değeri değiştirmesine gerek kalmaz. Optimum dosya sistemi performansı için yapılandırma hakkında bilgi almak üzere StorNext Dosya Sistemi Ayarlama Kılavuzu'na (StorNext File System Tuning Guide) başvurun.
Uyarı: Bir depolama havuzu dosya verileriyle doluyken disk eklemek, depolama havuzunun boş alan parçalanmasını (fragmentation) önceden var olan dosya verilerinin miktarıyla orantılı olarak artıracaktır. Birimin performansını ve işlevselliğini ciddi şekilde etkileyen parçalanmayı önlemek önemlidir. Depolama havuzunda çok az dosya verisi varsa veya hiç yoksa, genişletme boş alan parçalanmasıyla sonuçlanmayacaktır. Önceden var olan dosya verilerini farklı bir depolama havuzuna taşımak için snfsdefrag yardımcı aracı kullanılabilir.
Mevcut bir depolama havuzuna yeni diskler eklendiğinde, yeni disklerin boyutu mevcut disklerle tam olarak eşleşmelidir. Tüm yeni diskler, yapılandırma dosyasının StripeGroup bölümündeki disk listesinin sonuna eklenmelidir.
Meta veri veya günlük içeren bir depolama havuzuna yeni diskler eklenemez. Meta veri veya günlük işlemleri için ek kapasite veya performans gerekiyorsa yeni bir depolama havuzu eklenmelidir. Günlüğü yeni bir depolama havuzuna taşımak için cvupdatefs yardımcı aracı kullanılabilir.
BİRİM GÜNLÜK YAPILANDIRMASINI DEĞİŞTİRMEK cvupdatefs günlük yapılandırmasındaki değişiklikleri de tespit edecek ve meta verileri buna göre değiştirecektir. Günlük değişiklikleri, günlüğün yeni bir depolama havuzuna taşınmasını ve günlüğün boyutunun artırılmasını veya azaltılmasını içerir.
JournalSize (Global bölümünde bulunur) Bu değerin değiştirilmesi, diskteki günlük boyutunu değiştirecektir.
Journal (Storage Pool bölümünde bulunur) Bu girdinin yes olarak ayarlanması, diskteki günlüğü verilen depolama havuzuna yerleştirecektir.
NOT: Birim başına yalnızca bir günlük depolama havuzu olabilir.
YALNIZCA GÜNLÜK İÇEREN BİR ŞERİT GRUBUNUN KALDIRILMASI Linux MDC'ler için, bir şerit grubu yalnızca günlük özniteliğine sahipse, yani meta veri ve kullanıcı verisi içermiyorsa ve günlük başka bir şerit grubuna taşınırsa, eski yalnızca günlük içeren şerit grubu içerik türüne ilişkin hiçbir öznitelik kalmadan bırakılır. Bu şerit grubunun kullanımdan kaldırılması ve disklerin başka amaçlar için kullanılması isteniyorsa, günlük taşındıktan sonra durumunu down olarak ayarlayabilirsiniz. Günlük taşıma işleminden önce günlük kurtarma işleminin yürütülmesi gerektiğinden, günlük taşıma işlemi sırasında durumun up olması gerektiğini unutmayın.
Davranış Windows MDC'lerinde de benzerdir, ancak ASCII yapılandırma dosyasında açık bir kullanıcı verisi (userdata) özniteliği yoktur. Bu, günlük ve meta veri olmadığında kullanıcı verisi olduğu varsayılır anlamına gelir. Amaç eski yalnızca günlük içeren şerit grubunu kullanımdan kaldırmaksa, günlük şerit grubundan taşındıktan sonra dosya sistemini çalıştırmamaya dikkat edilmelidir. Günlüğü taşıdıktan hemen sonra ve FSM'yi başlatmadan önce durumu down olarak ayarlayın.
HATALI YAPILANDIRILMIŞ DEPOLAMA HAVUZLARINI DÜZELTMEK cvupdatefs yapılandırma hatalarını giderme konusunda sınırlı bir yeteneğe sahiptir. Örneğin, bir depolama havuzu eklendiyse ancak yapılandırma dosyası yanlış disk boyutlarını gösteriyorsa, bu şerit grubunu yeniden yazmak için bu seçenek kullanılabilir. Meta veri ve Günlük depolama havuzları yeniden yazılamaz. Ayrıca, üzerine yazılacak olan salt veri depolama havuzları boş olmalıdır.
Bir depolama havuzunda yapılabilecek değişiklik türleri şunlardır:
- Bir depolama havuzundaki disk tanımlarını yeniden boyutlandırmak
- Bir depolama havuzundaki şerit genişliğini (stripe breadth) değiştirmek
- Bir depolama havuzundaki disk listesini değiştirmek
Uyarı: Bu seçeneği her zaman son derece dikkatli kullanın. Yapılandırma hataları veri kaybına yol açabilir.
Renaming A Volume
Uyarı: Yönetilen (managed) bir birimin yeniden adlandırılması, başka yerlerde belgelenmiş ek adımlar gerektirir. Bunlar StorNext belge merkezinde yer almaktadır. Bu talimatları uygularken, bu komutu -R seçeneğiyle çağırırken -M seçeneği de kullanılmalıdır. Aksi takdirde, bir birimin yeniden adlandırılmasına yalnızca yönetilmeyen bir birim üzerinde izin verilir. -M seçeneği olmadan, cvupdatefs(8) birimin yönetildiğini tespit ederse, bir hata mesajı yazdıracak ve yeniden adlandırma yapmadan çıkacaktır.
Birim yeniden adlandırma için -R seçeneği dikkatle kullanılmalıdır, çünkü bu sürecin bir parçası olarak birkaç şey değiştirilir. Bir birimi yeniden adlandırmadan önce, birimi yeniden adlandırmadan önce cvfsck(8) programının çalıştırılması şiddetle önerilir. Birim, tüm SAN ve DLAN istemcilerinde çözülmeli (unmount) ve birim durdurulmalıdır, bkz. cvadmin(8). Bir birim yeniden adlandırıldığında bir istemci birimi bağlamış durumdaysa, eski birim adının bağını çözmek için istemcinin yeniden başlatılması gerekebilir. Windows'ta, birimi yeniden adlandırmadan önce bağını çözmek için İstemci Yapılandırma Aracını (Client Configuration Tool) kullanın.
Yeniden adlandırılan birim üç moddan birinde yapılandırılmış olacaktır: non-HA, HA veya manuel HA; ve nasıl yapılandırıldığı birimin nasıl yeniden adlandırılacağını değiştirecektir.
Non-HA modu HA modunda olmayan bir birimi yeniden adlandırırken ek adımlara gerek yoktur.
HA modu Bir birim HA modunda kullanıldığında, birincil (primary) MDC üzerinde yeniden adlandırma komutunu çalıştırmadan önce, ikincil (secondary) MDC üzerinde /Library/Logs/Xsan/data/VolName dizini manuel olarak /Library/Logs/Xsan/data/NewVolName olarak yeniden adlandırılmalıdır. Yeniden adlandırma komutu birincil MDC üzerinde çalıştırıldığında, HA senkronizasyon süreçleri diğer tüm yapılandırma değişikliklerini ikincil MDC'ye yayacaktır. Devam etmeden önce HA senkronizasyonunun tamamlanmasını bekleyin.
Manuel HA modu Manuel HA modunda, yeniden adlandırma komutu her iki MDC üzerinde de çalıştırılmalıdır. İkinci MDC üzerinde çalıştırıldığında, cvupdatefs(8) ICB'deki adın değiştiğini fark edecek, ancak NewVolName ICB'deki adla aynıysa devam edecektir. Manuel HA modunda, /Library/Logs/Xsan/data/VolName dizinini manuel olarak yeniden adlandırmaya gerek yoktur çünkü bu işlem ikinci MDC'de cvupdatefs -R çalıştırılmasının bir parçası olarak gerçekleşecektir.
Bir birimin adını değiştirdikten sonra, istemciler birimi yeniden bağlamadan önce değişikliğin tüm istemcilerdeki /etc/fstab, /etc/vfstab veya /etc/vstab dosyalarına manuel olarak yansıtılması ve karşılık gelen dizinlerin yeniden adlandırılması veya oluşturulması gerekir. Windows StorNext SAN ve DLAN İstemcileri bağlantılarının yeniden eşlenmesi gerekecektir. Bağlantıyı yeni dosya sistemi adıyla yeniden eşlemek için İstemci Yapılandırma Aracını çalıştırın.
Bir Xsan birimi Proxy İstemcisi olarak çalışan tüm istemciler için, /Library/Preferences/Xsan/dpserver.VolName dosyasının olup olmadığını kontrol edin. Varsa, dpserver.NewVolName olarak yeniden adlandırılması gerekecektir.
Yeniden adlandırırma işlemi sırasında bir şeyler ters giderse, cvupdatefs(8) yapılan kısmi değişiklikleri geri alacaktır, ancak bazı uç durumlarda değişiklikleri tamamen geri alamaması ve manuel müdahale gerekmesi olasıdır. Yeniden adlandırma işlemi sırasında değiştirilen ve/veye yeniden adlandırılan dosyalar şunları içerir: /Library/Logs/Xsan/data/VolName /Library/Logs/Xsan/data/NewVolName /Library/Preferences/Xsan/VolName.cfg /Library/Preferences/Xsan/NewVolName.cfg /Library/Preferences/Xsan/fsmlist ve birimin kendisindeki ICB. Manuel olarak güncellenmesi gereken işletim sistemine bağlı dosyalar şunları içerir: /etc/fstab /etc/vfstab /etc/vstab Windows İstemci Yapılandırma Aracı aracılığıyla Windows kayıt defteri (registry)
Enabling Case Insensitive
Dosya sistemi yapılandırmasında büyük/küçük harfe duyarsızlığın (case insensitive) etkinleştirildiği bir değişiklik tespit edilirse, cvupdatefs ad çakışmalarını kontrol etmek için cvfsck programını bir alt süreç olarak çağırır. Ad çakışmaları tespit edilirse güncelleme işlemi iptal edilir. Değişikliği cvupdatefs kullanarak yapmayı denemeden önce cvfsck -A çalıştırılması şiddetle önerilir.
Exit Values
cvupdatefs çıkışta aşağıdaki durum kodlarından birini döndürür.
0 - Hata yok, birim üzerinde hiçbir değişiklik yapılmadı 1 - Hata yok, birim üzerinde değişiklikler yapıldı 2 - Yapılandırma veya birim durumu hatası, değişiklik yapılmadı 3 - ICB hatası, uygunsuz birim bulundu, değişiklik yapılmadı 4 - Harf dönüşümü ad çakışmaları buldu, değişiklik yapılmadı
Notes
ÖNEMLİ: Herhangi bir yapılandırma değişikliği yapmadan önce cvfsck(8) çalıştırılması şiddetle önerilir.
Varsayılan olarak, cvupdatefs bir yazarken kopyala (COW) deposu kullanır ve meta veri değişikliklerini en sonda uygular. Bu, performans açısından faydalıdır ve işlemin başarıyla tamamlanmasını engelleyen herhangi bir sorunla karşılaşılması durumunda kurtarmayı kolaylaştırır. COW etkinleştirildiğinde, geçici alan genellikle platforma bağlı olarak /tmp veya benzeri bir konumdan tüketilir. Ancak geçici dizin, TMPDIR ortam değişkeni kullanılarak ayarlanabilir. Yukarıda belirtildiği gibi, COW -W seçeneği kullanılarak devre dışı bırakılabilir, bu durumda hiçbir geçici alan kullanılmaz.
Files
/Library/Preferences/Xsan/.cfg
/Library/Logs/Xsan/data/
See Also
snfs_config(5), cvfsck(8), cvadmin(8)
Xsan Birimi Kasım 2021 CVUPDATEFS(8)