Aracılığıyla paylaş


Öğretici: Azure VM'sinden veya şirket içi PostgreSQL sunucusundan çevrimiçi geçiş hizmeti Önizlemesi ile PostgreSQL için Azure Veritabanı geçirme

ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Veritabanı - Esnek Sunucu

Bu makale, Azure portalını ve Azure CLI'yi kullanarak bir PostgreSQL örneğini şirket içi veya Azure sanal makinelerinizden (VM)PostgreSQL için Azure Veritabanı esnek sunucuya geçirme konusunda size yol gösterir.

PostgreSQL için Azure Veritabanı'daki geçiş hizmeti, Azure portalı ve Azure CLI ile tümleştirilmiş tam olarak yönetilen bir hizmettir. PostgreSQL için Azure Veritabanı esnek sunucuya geçiş yolculuğunuzu basitleştirmek için tasarlanmıştır.

  • PostgreSQL için Azure Veritabanı Esnek Sunucunuzu yapılandırma
  • Geçiş görevini yapılandırma
  • Geçişi izleme
  • Tamamlandığında geçişi denetleme

Önkoşullar

Geçişe başlamak için aşağıdaki önkoşullara ihtiyacınız vardır:

PostgreSQL için Azure Veritabanı geçiş hizmetiyle geçişe başlamadan önce, özellikle çevrimiçi geçiş senaryoları için tasarlanmış aşağıdaki önkoşulları yerine getirmek önemlidir.

Kaynak sürümü doğrulama

Kaynak PostgreSQL sunucu sürümü 9.5 veya üzeri olmalıdır.

Kaynak PostgreSQL sürümü 9.5'ten küçükse, geçişi başlatmadan önce 9.5 veya üzeri bir sürüme yükseltin.

test_decoding Yükleme - Kaynak Kurulumu

  • test_decoding mantıksal kod çözme mekanizması aracılığıyla WAL alır ve gerçekleştirilen işlemlerin metin gösterimlerine çözer.

  • Test kodunu çözme eklentisi hakkında daha fazla bilgi için PostgreSQL belgelerine bakın

Hedef kurulumu yapılandırma

  • Geçiş öncesinde PostgreSQL için Azure Veritabanı – Esnek sunucu oluşturulmalıdır.
  • PostgreSQL için Azure Veritabanı için sağlanan SKU – Esnek sunucu kaynakla eşleşmelidir.
  • Yeni bir PostgreSQL için Azure Veritabanı oluşturmak için PostgreSQL için Azure Veritabanı - Esnek Sunucu örneği oluşturma adresini ziyaret edin
  • PostgreSQL sürümleri arasında geçiş yaparken (birincil veya ikincil), hataya neden olabilecek değişiklikler için sürüm notlarını gözden geçirerek veritabanınızla uygulamanız arasında uyumluluğu sağlayın.

CDC'yi kaynak olarak etkinleştirme

  • test_decoding mantıksal kod çözme eklentisi, değiştirilen kayıtları kaynaktan yakalar.
  • Kaynak PostgreSQL örneğinde postgresql.conf yapılandırma dosyasında aşağıdaki parametreleri ve değerleri ayarlayın:
    • Set wal_level = logical
    • Set max_replication_slots değeri 1'den büyük bir değere, geçiş için seçilen veritabanı sayısından büyük olmalıdır.
    • Set max_wal_senders değeri 1'den büyük bir değere ayarlanmalıdır, en az max_replication_slots ile aynı ve örneğiniz tarafından zaten kullanılan gönderenlerin sayısı olarak ayarlanmalıdır.
    • parametresi, wal_sender_timeout belirtilen sayıda milisaniyeden daha uzun süre etkin olmayan çoğaltma bağlantılarını sonlandırır. Şirket içi PostgreSQL veritabanı için varsayılan değer 60000 milisaniyedir (60 saniye). Değerin 0 (sıfır) olarak ayarlanması zaman aşımı mekanizmasını devre dışı bırakır ve geçiş için geçerli bir ayardır.

Çevrimiçi geçişin alanı dolmasını önlemek için sağlanan bir yönetilen disk kullanarak yeterli tablo alanı alanınız olduğundan emin olun. Bunu başarmak için, geçiş süresi boyunca Esnek Sunucu'da sunucu parametresini azure.enable_temp_tablespaces_on_local_ssd devre dışı bırakın ve geçiş sonrasında özgün durumuna geri yükleyin.

Ağ kurulumunu yapılandırma

Geçiş hizmetinin düzgün çalışması için ağ kurulumu çok önemlidir. Kaynak PostgreSQL sunucusunun hedef PostgreSQL için Azure Veritabanı sunucusuyla iletişim kuraadığından emin olun. Başarılı bir geçiş için aşağıdaki ağ yapılandırmaları gereklidir.

Ağ kurulumu hakkında bilgi için Bkz . Geçiş hizmeti için ağ kılavuzu.

  • Ağ konusunda dikkat edilmesi gereken ek noktalar:

pg_hba.conf Yapılandırması: Kaynak ve hedef PostgreSQL örnekleri arasındaki bağlantıyı kolaylaştırmak için pg_hba.conf dosyasını doğrulamak ve potansiyel olarak değiştirmek önemlidir. Bu dosya istemci kimlik doğrulamasını içerir ve hedef PostgreSQL'in kaynağa bağlanmasına izin verecek şekilde yapılandırılmalıdır. pg_hba.conf dosyasında yapılan değişiklikler genellikle kaynak PostgreSQL örneğinin yeniden başlatılmasını gerektirir.

pg_hba.conf dosyası PostgreSQL yüklemesinin veri dizininde bulunur. Kaynak veritabanı bir şirket içi PostgreSQL sunucusu veya Azure VM'de barındırılan bir PostgreSQL sunucusuysa bu dosya denetlenmeli ve yapılandırılmalıdır.

Uzantıları etkinleştirme

geçiş hizmetini PostgreSQL için Azure Veritabanı kullanarak geçişin başarılı olmasını sağlamak için kaynak PostgreSQL örneğinizdeki uzantıları doğrulamanız gerekebilir. Uzantılar, uygulamanız için gerekli olabilecek işlevler ve özellikler sağlar. Geçiş işlemini başlatmadan önce kaynak PostgreSQL örneğindeki uzantıları doğruladığınızdan emin olun.

PostgreSQL için Azure Veritabanı - Esnek Sunucu'nun hedef örneğinde, kaynak PostgreSQL örneğinde tanımlanan desteklenen uzantıları etkinleştirin.

Daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı uzantılar.

Not

Parametresinde herhangi bir değişiklik shared_preload_libraries yaptığınızda yeniden başlatma gerekir.

Sunucu parametrelerini denetleme

  • kaynakta yapılandırılan sunucu parametre değerlerini temel alarak PostgreSQL için Azure Veritabanı – Esnek sunucudaki sunucu parametresi değerlerini el ile yapılandırmanız gerekir.

Kullanıcıları ve rolleri denetleme

  • Kullanıcıların ve farklı rollerin PostgreSQL için Azure Veritabanı – Esnek sunucuya el ile geçirilmesi gerekir. Kullanıcıları ve rolleri geçirmek için kullanabilirsiniz pg_dumpall --globals-only -U <<username> -f <<filename>>.sql.
  • PostgreSQL için Azure Veritabanı – Esnek sunucu herhangi bir süper kullanıcıyı desteklemez; süper kullanıcı rolüne sahip kullanıcıların geçiş öncesinde kaldırılması gerekir.

Geçişi gerçekleştirme

Azure portalını veya Azure CLI'yi kullanarak geçiş yapabilirsiniz.

Bu makale, PostgreSQL veritabanınızı bir Azure VM'den veya şirket içi postgreSQL sunucusundan PostgreSQL için Azure Veritabanı geçirmek için Azure portalını kullanmanıza yol gösterir. Azure portalı, veritabanı geçişi de dahil olmak üzere çeşitli görevleri gerçekleştirmenizi sağlar. Bu öğreticide özetlenen adımları izleyerek veritabanınızı sorunsuz bir şekilde Azure'a aktarabilir ve güçlü özelliklerinden ve ölçeklenebilirlik özelliklerinden yararlanabilirsiniz.

Geçiş görevini yapılandırma

Geçiş hizmeti, Azure portalında basit, sihirbaz tabanlı bir deneyimle birlikte gelir. Şu şekilde başlayabilirsin:

  1. Web tarayıcınızı açın ve portala gidin. Oturum açmak için kimlik bilgilerinizi girin. Varsayılan görünüm hizmet panonuzu içerir.

  2. PostgreSQL için Azure Veritabanı Esnek Sunucu hedefinize gidin.

  3. Esnek Sunucunun Genel Bakış sekmesinde, soldaki menüde aşağı kaydırarak Geçiş'e gelin ve seçin.

    Azure portalında Geçiş seçimi sayfasının ekran görüntüsü.

  4. Azure sanal makinesinden (VM) veya şirket içi PostgreSQL sunucusundan Esnek Sunucu'ya geçiş yapmak için Oluştur düğmesini seçin. Geçiş hizmetini ilk kez kullanıyorsanız, ilk geçişinizi başlatmak için bir istem içeren boş bir kılavuz görüntülenir.

    Geçiş oluştur'un ekran görüntüsü.

    Esnek Sunucu hedefinize zaten geçişler oluşturduysanız kılavuzda geçiş girişimiyle ilgili bilgiler yer alır.

  5. Oluştur düğmesini seçin. Ardından, PostgreSQL kaynak Sunucusundan bu Esnek Sunucu hedefine geçiş oluşturmak için sihirbaz tabanlı bir sekme serisini gözden geçirin.

Ayarlama

İlk sekme, kullanıcının geçiş adı ve kaynak türü gibi geçiş ayrıntılarını sağlayarak geçişleri başlattığı kurulum sekmesidir.

Kurulum geçişinin ekran görüntüsü.

  • Geçiş adı , bu Esnek Sunucu hedefine yapılan her geçiş için benzersiz tanımlayıcıdır. Bu alan yalnızca alfasayısal karakterleri kabul eder ve kısa çizgi (-) dışında herhangi bir özel karakteri kabul etmez. Ad kısa çizgiyle başlayamaz ve hedef sunucu için benzersiz olmalıdır. Aynı Esnek Sunucu hedefine yapılan iki geçiş aynı ada sahip olamaz.

  • Kaynak Sunucu Türü — PostgreSQL kaynağınıza bağlı olarak Azure VM'yi veya şirket içi'yi seçebilirsiniz.

  • Geçiş Seçeneği , geçişi tetiklemeden önce doğrulamalar gerçekleştirmenizi sağlar. Aşağıdaki seçeneklerden herhangi birini seçebilirsiniz:

    • Doğrula - Sunucunuzu ve veritabanınızın hedefe geçiş için hazır olup olduğunu denetler.
    • Geçiş - Doğrulamaları atlar ve geçişleri başlatır.
    • Doğrulama ve Geçirme—Geçişi tetiklemeden önce doğrulama gerçekleştirir. Geçiş yalnızca doğrulama hatası olmadığında tetiklenir.

Geçişi çalıştırmadan önce ön geçiş doğrulamaları gerçekleştirirken Doğrula veya Doğrula ve Geçir seçeneğinin seçilmesi her zaman iyi bir uygulamadır. Geçiş öncesi doğrulama hakkında daha fazla bilgi edinmek için bu belgelere bakın.

Geçiş modu , geçiş modunu seçmenize olanak tanır. Varsayılan seçenek çevrimdışıdır .

İleri: Kaynağa bağlan düğmesini seçin.

Çalışma Zamanı Sunucusu

Migration Runtime Sunucusu, PostgreSQL için Azure Veritabanı'da geçiş hizmeti içinde özel bir özelliktir ve geçiş sırasında aracı sunucu olarak görev yapmak üzere tasarlanmıştır. Bu ayrı bir PostgreSQL için Azure Veritabanı - Hedef sunucu olmayan ancak veritabanlarının yalnızca özel ağ üzerinden erişilebilen bir kaynak ortamdan geçişini kolaylaştırmak için kullanılan Esnek Sunucu örneğidir.

Geçiş Çalışma Zamanı Sunucusu sayfasının ekran görüntüsü.

Çalışma Zamanı Sunucusu hakkında daha fazla bilgi için Migration Runtime Sunucusu'nu ziyaret edin.

Kaynağa bağlan

Kaynağa Bağlan sekmesi, veritabanlarının kaynağı olan Kurulum Sekmesinde seçilen kaynakla ilgili ayrıntıları vermenizi ister.

Connectsourcemigration'ın ekran görüntüsü.

  • Sunucu Adı - Kaynak PostgreSQL örneğinin Ana Bilgisayar adını veya IP adresini belirtin
  • Bağlantı Noktası - Kaynak sunucunun bağlantı noktası numarası
  • Sunucu yöneticisi oturum açma adı - Kaynak PostgreSQL sunucusunun kullanıcı adı
  • Parola - Kaynak PostgreSQL sunucusunun parolası
  • SSL Modu - Desteklenen değerler tercih edilir ve gereklidir. Kaynak PostgreSQL sunucusundaki SSL KAPALI olduğunda SSLMODE=prefer kullanın. Kaynak sunucudaki SSL ON ise SSLMODE=require komutunu kullanın. SSL değerleri postgresql.conf dosyasında belirlenebilir.
  • Bağlantıyı Sına - Hedef ve kaynak arasındaki bağlantı testini gerçekleştirir. Bağlantı başarılı olduktan sonra kullanıcılar sonraki adıma geçebilir. Aksi takdirde, hedef ve kaynak arasındaki ağ sorunlarını tanımlamanız ve kaynak için kullanıcı adını/parolayı doğrulamanız gerekir. Test bağlantısının hedef ve kaynak arasında bağlantı kurması birkaç dakika sürer

Başarılı bir test bağlantısından sonra Sonraki: Geçiş hedefi'ni seçin

Geçiş hedeflerini seçme

Geçiş hedefi seçme sekmesinde Esnek Sunucu hedefi için abonelik adı, kaynak grubu, sunucu adı, konum ve PostgreSQL sürümü gibi meta veriler görüntülenir.

Connecttargetmigration'ın ekran görüntüsü.

  • Yönetici kullanıcı adı - Hedef PostgreSQL sunucusunun yönetici kullanıcı adı
  • Parola - Hedef PostgreSQL sunucusunun parolası
  • Özel FQDN/IP (İsteğe Bağlı): Özel FQDN/IP alanı isteğe bağlıdır ve hedef özel bir DNS sunucusunun arkasında olduğunda veya özel DNS ad alanlarına sahip olduğunda kullanılabilir, böylece yalnızca belirli FQDN'ler veya IP adresleri aracılığıyla erişilebilir. Örneğin, özel DNS sunucusu DNS bölgesini içeriyorsa veya bu bölgenin sorgularını FQDN'nin Azure genel veya özel DNS bölgesinde çözümlendiği konumuna 168.63.129.16iletirse, bu , veya 198.1.0.2flexibleserver.example.comgibi flexibleserver.postgres.database.azure.combir PostgreSQL FQDN'sini içerebilir.postgres.database.azure.com
  • Bağlantıyı Sına - Hedef ve kaynak arasındaki bağlantı testini gerçekleştirir. Bağlantı başarılı olduktan sonra kullanıcılar sonraki adıma geçebilir. Aksi takdirde, hedef ile kaynak arasındaki ağ sorunlarını tanımlamamız ve hedef için kullanıcı adını/parolayı doğrulamamız gerekir. Test bağlantısının hedefle kaynak arasında bağlantı kurması birkaç dakika sürer.

Başarılı bir test bağlantısından sonra Sonraki: Geçiş için Veritabanlarını Seç'i seçin

Geçiş için veritabanlarını seçme

Bu sekmenin altında, kullanıcı veritabanlarının listesi kurulum sekmesinde seçilen kaynak sunucunun içindedir. Tek bir geçiş denemesinde en fazla sekiz veritabanı seçip geçirebilirsiniz. Sekizden fazla kullanıcı veritabanı varsa, geçiş işlemi sonraki veritabanı kümesi için kaynak ve hedef sunucular arasında yinelenir.

FetchDBmigration öğesinin ekran görüntüsü.

Veritabanlarını seçtikten sonra İleri: Özet'i seçin

Özet

Özet sekmesi, doğrulama veya geçiş oluşturmaya yönelik tüm kaynak ve hedef ayrıntılarını özetler. Ayrıntıları gözden geçirin ve başlangıç düğmesini seçin.

Özet geçişinin ekran görüntüsü.

Geçişi izleme

Başlangıç düğmesini seçtikten sonra birkaç saniye içinde doğrulama veya geçiş oluşturma işleminin başarılı olduğunu belirten bir bildirim görüntülenir. Otomatik olarak Esnek Sunucu'nun Geçiş dikey penceresine yönlendirilirsiniz. Bu dikey pencere, kısa süre önce oluşturulan doğrulama veya geçiş için yeni bir giriş içerir.

Azure portalında geçişi izleme ekran görüntüsü.

Geçişleri görüntüleyen kılavuzda şu sütunlar bulunur: Ad, Durum, Geçiş modu, Geçiş türü, Kaynak sunucu, Kaynak sunucu türü, Veritabanları, **Süre ve Başlangıç saati. Girişler, başlangıç saatinin azalan sırasına göre ve en son girdi en üstte olacak şekilde görüntülenir. Doğrulama veya geçiş durumunu yenilemek için yenile düğmesini kullanabilirsiniz. İlişkili ayrıntıları görmek için kılavuzda geçiş adını seçin.

Doğrulama veya geçiş oluşturulduğunda InProgress durumuna ve PerformingPreRequisiteSteps alt durumuna geçer. İş akışının geçiş altyapısını ve ağ bağlantılarını ayarlaması 2-3 dakika sürer.

Geçiş ayrıntıları

Kurulum sekmesinde Geçiş ve Doğrula olarak geçiş seçeneğini belirledik. Bu senaryoda, doğrulamalar geçiş başlamadan önce gerçekleştirilir. PerformingPreRequisiteSteps alt durumu tamamlandıktan sonra iş akışı Devam Eden Doğrulama'nın alt durumuna geçer.

  • Doğrulamada hatalar varsa, geçiş Başarısız durumuna geçer.
  • Doğrulama hatasız tamamlanırsa geçiş başlatılır ve iş akışı Verileri Geçirme alt durumuna geçer.

Doğrulama sonuçları Doğrulama sekmesinin altında görüntülenir ve geçiş, Geçiş sekmesi altında izlenir.

Ayrıntılar geçişinin ekran görüntüsü.

Bazı olası geçiş durumları:

Geçiş durumları

Durum Açıklama
InProgress Geçiş altyapısı kurulumu devam ediyor veya gerçek veri geçişi devam ediyor.
İptal Edildi Geçiş iptal edilir veya silinir.
Başarısız oldu Geçiş başarısız oldu.
Doğrulama Başarısız Oldu Doğrulama başarısız oldu.
Başarılı Geçiş başarılı oldu ve tamamlandı.
WaitingForUserAction Yalnızca çevrimiçi geçiş için geçerlidir. Kullanıcı eyleminin tam geçişi gerçekleştirmesi bekleniyor.

Geçiş alt eyaletleri

Alt Durum Açıklama
PerformingPreRequisiteSteps Veri geçişi için altyapı kurulumu devam ediyor.
Doğrulama Sürüyor Doğrulama devam ediyor.
MigratingData Veri geçişi devam ediyor.
TamamlanıyorMigration Geçiş, tamamlanma işleminin son aşamalarındadır.
Tamamlandı Geçiş tamamlandı.
Başarısız oldu Geçiş başarısız oldu.

Doğrulama alt eyaletleri

Alt Durum Açıklama
Başarısız oldu Doğrulama başarısız oldu.
Başarılı Doğrulama başarılı oldu.
Uyarı Doğrulama uyarıda.

Tam geçiş

Hem Geçirme hem de Doğrulama ve Geçirme varsa, çevrimiçi geçişi tamamlamak için başka bir adım gerekir; kullanıcının tam geçiş eylemi gerçekleştirmesi gerekir. Temel verilerin kopyalanması/kopyalanması tamamlandıktan sonra geçiş, duruma ve alt katmana WaitingForCutoverTrigger taşınırWaitingForUserAction. Bu durumda, kullanıcı geçişi seçerek portaldan tam geçişi tetikleyebilir.

Tam geçişi başlatmadan önce şunların sağlanması önemlidir:

  • Kaynağa yazma işlemleri durdurulur; Latency değer 0 veya 0'a yakın. Bilgiler Latency aşağıda gösterildiği gibi geçiş ayrıntıları ekranından alınabilir:
  • latency değer 0'a düşer veya 0'a yakın
  • değeri, latency hedefin kaynakla en son ne zaman eşitlendiğini gösterir. Kaynağa yazma işlemi bu noktada durdurulabilir ve tam geçiş başlatılabilir. Kaynakta yoğun trafik olması durumunda, 0'a yaklaşabilmek Latency için önce yazmaların durdurulması ve ardından tam geçişin başlatılması önerilir.

Tam Geçiş işlemi, Kaynaktan Hedefe bekleyen tüm değişiklikleri uygular ve geçişi tamamlar. Sıfır olmayan Latency, bir durumda bile "Tam Geçiş" tetiklerseniz, çoğaltma o noktaya kadar durur. Tam geçiş noktası hedefe uygulanana kadar kaynak üzerindeki tüm veriler. Tam geçiş noktasında 15 dakika gecikme süresiyle karşılaşırsanız, son 15 dakikadaki tüm değiştirilen veriler hedefe uygulanır. Süre, son 15 dakikada gerçekleşen değişikliklerin kapsamına bağlıdır. Bu nedenle tam geçişi tetiklemeden önce gecikme süresinin sıfıra veya sıfıra yakın olması önerilir.

  • Alt durum veya tam geçiş (Çevrimiçi geçişte) başarıyla tamamlandığında geçiş duruma Migrating Data geçerSucceeded. Alt eyalette Migrating Data bir sorun varsa geçiş bir Failed duruma geçer.

Geçişi iptal etme

Devam eden doğrulamaları veya geçişleri iptal edebilirsiniz. İş akışının iptal edilmesi için InProgress durumunda olması gerekir. Başarılı veya Başarısız durumunda bir doğrulamayı veya geçişi iptal yapamazsınız.

Bir doğrulamanın iptali daha fazla doğrulama etkinliğini durdurur ve doğrulama İptal edildi durumuna geçer.

Geçişi iptal etmek, hedef sunucunuzda daha fazla geçiş etkinliğini durdurur ve İptal edildi durumuna geçer. Hedef sunucunuzdaki değişiklikleri bırakmaz veya geri almaz. İptal edilmiş bir geçişe dahil olan veritabanlarını hedef sunucunuza bıraktığınızdan emin olun.

Tamamlandığında geçişi denetleme

Veritabanlarını tamamladıktan sonra, kaynak ve hedef arasındaki verileri el ile doğrulamanız ve hedef veritabanındaki tüm nesnelerin başarıyla oluşturulduğunu doğrulamanız gerekir.

Geçiş sonrasında aşağıdaki görevleri gerçekleştirebilirsiniz:

  • Esnek sunucunuzdaki verileri doğrulayın ve kaynak örneğin tam bir kopyası olduğundan emin olun.
  • Doğrulama sonrasında esnek sunucunuzda gerektiğinde yüksek kullanılabilirlik seçeneğini etkinleştirin.
  • Esnek sunucunun SKU'sunu uygulama gereksinimlerine uyacak şekilde değiştirin. Bu değişiklik için veritabanı sunucusunun yeniden başlatılması gerekir.
  • Kaynak örnekteki varsayılan değerlerinden herhangi bir sunucu parametresini değiştirirseniz, esnek sunucudaki bu sunucu parametre değerlerini kopyalayın. Etiketler, uyarılar ve güvenlik duvarı kuralları (varsa) gibi diğer sunucu ayarlarını kaynak örnekten esnek sunucuya kopyalayın.
  • bağlantı dizesi esnek bir sunucuya işaret etmek için uygulamanızda değişiklikler yapın.
  • Performans ayarlaması gerekip gerekmediğini görmek için veritabanı performansını yakından izleyin.