Blog'dan Yazılar

Sizler için profesyonel yazarlarımız ile hazırladığımız makalelerimizi okuyun ve kendinizi geliştirin.

Centos Üzerinde Postgresql 12.2 Kurulumu ve Konfigurasyonu
Centos Üzerinde Postgresql 12.2 Kurulumu ve Konfigurasyonu
Bu yazımızda, Centos 7 üzerinde Postgresql 12.2’nin kaynak koddan kurulumu ve kurulum sonrası konfigurasyonlarından bahsedeceğiz. Kurulum ve konfigürasyon adımları sırasında komutları ve ayarları “root” kullanıcı ile yapacağız. Postgresql Centos dışında Redhat/Debian/Ubuntu gibi Linux tabanlı işletim sistemlerinde de çok benzer konfigürasyonlar ile kurulabilir. Diğer işletim sistemleri için kurulum yazılarını yakında paylaşıyor olacağız. Kurulum sonrası beklenen çıktıları ekran görüntüsü ile paylaşıyor olacağız. Kurulum öncesi gereksinimleri göz önünde bulundurduğumuzda Centos üzerinde olması gereken rpm’ler şu şekildedir : glibc gcc libtermcap-devel readline-devel zlib-devel wget Bu paketleri kurmak için aşağıdaki komutun çalıştırılması gerekiyor: ## yum install glibc gcc libtermcap-devel readline-devel zlib-devel wget Paketlerin kurulumu yapıldıktan sonra Postgresql’in kaynak kodunu indirmek için aşağıdaki komutun çalıştırılması gerekiyor. Öncelikle “/root”un altındaki “/tmp” klasörüne gidiyoruz. (Postgresql’in 12.2 versiyonunu seçme sebebin şu anki en güncel versiyon olmasıdır. Dilerseniz linkteki bir üst klasöre çıkıp denemek/kurmak istediğiniz başka bir versiyonu seçebilirsiniz. Bu durumda aşağıdaki komutu da değiştirmeniz gerekecektir.) ## cd /tmp ## wget https://ftp.postgresql.org/pub/source/v12.2/postgresql-12.2.tar.gz İndirilen dosya sıkıştırılmış olduğu için “tar” komutunu kullanarak kaynak kodu bulunduğumuz dizinde açıyoruz. Daha sonra açılan sıkıştırılmış dosyanın içerisine gidiyoruz. ## tar -zxf postgresql-12.2.tar.gz ## cd postgresql-12.2/ Açılan kaynak kodun derlenmesinden önce Postgresql’in çalışırken kullanacağı bazı parametreleri değiştirebiliriz. Burada wal segmentiniz size’ını 64MB yapıp kodu derleme aşamasına o şekilde gideceğiz. Ayrıca değiştirmek istediğiniz başka özellikler için de Postgresql ortamının, yazılımının sistem üzerinde derlenmeden  hazırlanması için bu yolu izlemeniz gerekmektedir. ## ./configure –with-wal-segsize=64 Bu adım sonrası Postgresql yazılımının yükleneceği konfigurasyon adımları tamamlanmış oldu. Şimdi yüklenmeye hazır olan kodun derlenmesi için aşağıdaki komutları çalıştırıyoruz: ## make world ## make install-world Bu adımları hata almadan geçtiğiniz takdir sistem üzerinde “/usr/local/pgsql” dizinine Postgresql’in binary’lerini ve gerekli kütüphaneleri kurduğunu görebilirsiniz. Bu bizim için şuan Postgresql yazılımının kurulduğunu gösteriyor. Ancak hala elimizde bir veritabanı yok. Veritabanının çalışması için gerekli olan ortamı hazırlamış olduk. Şimdi veritabanı kurulumu ve sonrası işlemleri için kullanacağımız “postgres” kullanıcısını oluşturuyoruz. ## adduser postgres Kullanıcıyı ekledikten sonra veritabanı dosyalarının ve verilerin tutulacağı “data” klasörünü “/usr/local/pgsql” dizininde oluşturup bu klasörün sahibini “postgres” olarak ayarlıyoruz. ## mkdir /usr/local/pgsql/data ## chown postgres:postgres /usr/local/pgsql/data Buraya kadar işlemler hep “root” kullanıcısı ile yaptık. Şimdi oluşturmuş olduğumuz “postgres” kullanıcısına geçiş yapalım. Böylece veritabanı kurulumuna başlayabiliriz. ## su – postgres Şimdi postgresql kullanıcısına geçtikten sonra ortam değişkenlerini Postgresql’in binary ve kütüphanelerini de görecek şekilde düzenlememiz gerekiyor. Bu adım için “/home/postgres” dizinindeki “.bash_profile” dosyasının içeriğini aşağıdaki biçimde değiştiriyoruz. # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then  . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export LD_LIBRARY_PATH=/usr/local/pgsql/lib export PGDATA=/usr/local/pgsql/data export PATH=/usr/local/pgsql/bin:$PATH “.bash_profile” dosyasının içinde bulunan ortam değişkenlerini görmesi için yüklüyoruz tekrar sisteme. ## source .bash_profile Şimdi ortam değişkenlerimiz de hazır olduğuna göre veritabanı kurulum adımına geçebiliriz. Bu adımda “initdb” komutunu kullanacağız. Ortam değişkenlerinin doğru çalıştığından emin olmak için aşağıdaki kontrol komutunu çalıştırabilirsiniz: ## which initdb Yukarıdaki komutun sonucu “/usr/local/pgsql/bin/initdb” ise değişkenler doğru set edilmiş demektir. Şimdi “initdb” kullanarak veritabanı kurulumu gerçekleştiriyoruz. Bu komut ile beraber eğer veritabanının kurulacağı dizini değiştirmek istersek –pgdata parametresiyle kullanmamız gerekiyor. Hatırlarsınız ki PGDATA’yı zaten “.bash_profile” içerisinde belirtmiştik. Yine de parameter kullanımını da görmeniz açısında bu parametre ile veritabanı kurulumu başlatıyoruz.## initdb –pgdata=/usr/local/pgsql/data –pwprompt Bu komutun çalıştırılması sonrası “/usr/local/pgsql/data” klasöründe veritabanına ait dosyaların oluşturulduğunu gözlemleyebilirsiniz :## 1s Yukarıdaki kodun çıktısını gördüğünüz üzere veritabanı çalıştırılmaya hazır. Ancak veritabanını çalıştırmadan önce bazı değişikliklere ihtiyacımız var. Bu değişikliklerden biri veritabanına hangi kullanıcının, hangi hosttan, hangi veritabanına bağlanabileceğini belirttiğimiz “pg_hba.conf” dosyasını güncellemek. Burada öncelikle o sunucu üzerinde bağlanacağınız için sunucuyu eklememiz gerekiyor. Aşağıdaki gibi bir dosya yapısında “pg_hba.conf”. “pg_hba.conf” dosyasını güncelledikten sonra bizim için çok önemli olan ve Postgresql veritabanının çalışırken kullandığı tüm parametreleri, konfigürasyon değerlerini düzenleyip sağlıklı çalışması için ayarladığımız “postgresql.conf” dosyasına geçiyoruz.Bu dosya içerisindeki parametrelerin bir kısmını değiştirdikten sonra veritabanının tekrar başlatılması gerekiyor. Bir kısmı ise veritabanının tekrar başlatılmasına ihtiyaç duymuyor. Bu sebeple yapacağımız değişiklikleri veritabanını kurduktan sonra yapabiliyorsak bizim için daha. Çalışan sistem üzerinde değişiklikler yapmaktan kaçınalım.Bunun için veritabanı kurulumunda sonra başlatmadan önce ciddi bir çalışma, gereksinimleri belirleme, stratejiyi oluşturmak gerekiyor.“postgresql.conf” dosyası başındaki açıklama gibi Postgresql’in konfigürasyon dosyası : Bu dosya içerisinde ilk müdaha edeceğimiz parametrelerden biri hangi porttan çalışacaksa veritabanı o parametreyi güncellemek. Postgresql standart olarak 5432 portu üzerinde çalışır eğer aksi belirtilmemişse. Bağlantılar için bu kısım güncellenmeli : Daha sonra müdahale edeceğimiz parametre yine Postgresql için çok önemli olan “shared_buffers” parametresi. Bu parametre için genellikle sistemin memory miktarının yüzde 25’ini vermeniz sizin için en iyi senaryo olabilir. Yine arşiv modunu bu klasörden açabilirsiniz. Açtıktan sonra arşivlerin kaydedileceği ve aktarılacağı dizinleri de belirlemeniz gerekiyor. Performans artışı ve paralellik özelliklerini de kullanabilmek için yine “postgresql.conf” içerisindeki parametrelerden faydalanabilirsiniz. Postgresql üzerinde performans çalışmaları ile ilgili çalışmayı daha sonraki yazılarımızda değiniyor olacağız. Parametreleri de ayarladığımıza göre şimdi veritabanını başlatabiliriz. Onun için kurulum adımında son satırda yazan komutu çalıştırmamız yeterlidir. Bu adımda kullanmış olduğumuz “pg_ctl” komutu veritabanı başlatıp-kapatırken kullandığımız komut. “-D” parametresi ile hangi dizindeki veritabanını başlatacağımızı belirtiyoruz : ## pg_ctl -D /usr/local/pgsql/data start Veritabanını başlatılmış oldu bu durumda. Şimdi bağlanıp var olan veritabanlarını listeleyim## psqlpsql## \l Artık veritabanımızın da çalıştığını gözlemleyebiliyoruz. “postgres” bizim için ana veritabanı olarak oluşturuluyor sistem tarafından. Diğer iki template veritabanı ise ihtiyaç durumunda kullanabileceğiniz yedek veritabanı gibi oluşturuluyor.
Azure’da CentOS tabanlı bir sanal makine hazırlama
Azure’da CentOS tabanlı bir sanal makine hazırlama
CentOS tabanlı bir Linux işletim sistemi içeren bir Azure sanal sabit diski (VHD) oluşturmayı ve yüklemeyi öğrenin. Azure için CentOS 6. x sanal makinesini hazırlama Azure için CentOS 7.0 + sanal makinesi hazırlama Önkoşullar Bu makalede, bir sanal sabit diske bir CentOS (veya benzer türev) Linux işletim sistemini zaten yüklemiş olduğunuz varsayılmaktadır. . Vhd dosyaları, örneğin Hyper-V gibi bir sanallaştırma çözümü oluşturmak için birden çok araç vardır. Yönergeler için bkz. Hyper-V rolünü yükleyip sanal makineyi yapılandırma. CentOS yükleme notları Lütfen Azure için Linux hazırlama hakkında daha fazla ipucu için bkz. Genel Linux yükleme notları . VHDX biçimi Azure ‘da desteklenmiyor, yalnızca sabıt VHD. Hyper-V Yöneticisi ‘Ni veya Convert-VHD cmdlet ‘ini kullanarak diski VHD biçimine dönüştürebilirsiniz. VirtualBox kullanıyorsanız, disk oluştururken dinamik olarak ayrılan varsayılan değer tersine, sabit boyutun seçilmesi anlamına gelir. Linux sistemini yüklerken, LVM yerine standart bölümler kullanmanız önerilir (genellikle çoğu yükleme için varsayılan değer). Bu, özellikle de bir işletim sistemi diskinin sorun giderme için başka bir özdeş VM ‘ye bağlanması gerekiyorsa, kopyalanmış VM ‘lerle LVM adı çakışmalarını önler. LVM veya RAID veri disklerinde kullanılıyor olabilir. UDF dosya sistemlerini bağlamak için çekirdek desteği gereklidir. Azure ‘da ilk önyüklemede sağlama yapılandırması, konuğa bağlı olan UDF biçimli medya aracılığıyla Linux VM ‘ye geçirilir. Azure Linux Aracısı, yapılandırmasını okumak ve VM ‘yi sağlamak için UDF dosya sistemini bağlayabilmelidir. Linux çekirdek sürümleri 2.6.37, Hyper-V üzerinde daha büyük VM boyutlarına sahip NUMA ‘yı desteklemez. Bu sorun öncelikle yukarı akış Red Hat 2.6.32 çekirdeğini kullanarak eski dağıtımları etkiler ve RHEL 6,6 (Kernel-2.6.32-504) içinde düzeltilmiştir. 2.6.37 ‘den eski olan özel çekirdekler çalıştıran sistemler veya 2.6.32-504 ‘ den eski RHEL tabanlı çekirdekler, numa=off grub. conf içindeki çekirdek komut satırında önyükleme parametresini ayarlanmalıdır. Daha fazla bilgi için bkz. Red hat KB 436883. İşletim sistemi diski üzerinde takas bölümü yapılandırmayın. Bunun hakkında daha fazla bilgiyi aşağıdaki adımlarda bulabilirsiniz. Azure ‘daki tüm VHD ‘ler, 1 MB ‘a hizalanmış bir sanal boyuta sahip olmalıdır. Bir ham diskten VHD ‘ye dönüştürme yaparken,, dönüştürmeden önce ham disk boyutunun 1 MB ‘ın katı olduğundan emin olmanız gerekir. Daha fazla bilgi için bkz. Linux yükleme notları . CentOS 6. x Hyper-V Yöneticisi ‘nde sanal makineyi seçin. Bağlan ‘ a tıklayarak sanal makine için bir konsol penceresi açın. CentOS 6 ‘ da, NetworkManager, Azure Linux Aracısı ‘nı kesintiye uğratabilirler. Aşağıdaki komutu çalıştırarak bu paketi kaldırın:BashKopyalasudo rpm -e --nodeps NetworkManager Dosyayı oluşturun veya düzenleyin /etc/sysconfig/network ve aşağıdaki metni ekleyin:KonsolKopyalaNETWORKING=yes HOSTNAME=localhost.localdomain Dosyayı oluşturun veya düzenleyin /etc/sysconfig/network-scripts/ifcfg-eth0 ve aşağıdaki metni ekleyin:KonsolKopyalaDEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp TYPE=Ethernet USERCTL=no PEERDNS=yes IPV6INIT=no Ethernet arabirimleri için statik kurallar oluşturmaktan kaçınmak için uıdev kurallarını değiştirin. Bu kurallar Microsoft Azure veya Hyper-V ‘ d a bir sanal makine kopyalanırken sorunlara neden olabilir:BashKopyalasudo ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules sudo rm -f /etc/udev/rules.d/70-persistent-net.rules Aşağıdaki komutu çalıştırarak ağ hizmetinin önyükleme zamanında başlamasını sağlayın:BashKopyalasudo chkconfig network on Azure veri merkezleri içinde barındırılan OpenLogic yansıtılarını kullanmak istiyorsanız, /etc/yum.repos.d/CentOS-Base.repo dosyayı aşağıdaki depolarla değiştirin. Bu, Azure Linux Aracısı gibi ek paketleri de içeren [OpenLogic] deposunu ekler:KonsolKopyala [base] name=CentOS-$releasever – Base #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #released updates [updates] name=CentOS-$releasever – Updates #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #additional packages that may be useful [extras] name=CentOS-$releasever – Extras #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever – Plus #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #contrib – packages by Centos Users [contrib] name=CentOS-$releasever – Contrib #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 ” style=”box-sizing: inherit; font-family: SFMono-Regular, Consolas, “Liberation Mono”, Menlo, Courier, monospace; font-size: 1em; outline-color: inherit; direction: ltr; position: relative; border: 0px; padding: 0px; display: block; line-height: 19px;”>[openlogic] name=CentOS-$releasever – openlogic packages for $basearch baseurl=http://olcentgbl.trafficmanager.net/openlogic/$releasever/openlogic/$basearch/ enabled=1 gpgcheck=0 [base] name=CentOS-$releasever – Base #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #released updates [updates] name=CentOS-$releasever – Updates #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #additional packages that may be useful [extras] name=CentOS-$releasever – Extras #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever – Plus #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #contrib – packages by Centos Users [contrib] name=CentOS-$releasever – Contrib #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6  Not Bu kılavuzun geri kalanı, [openlogic] aşağıda Azure Linux aracısını yüklemek için kullanılacak en az depoyu kullandığınızı varsayacaktır. Aşağıdaki satırı/etc/yum.conf öğesine ekleyin:KonsolKopyala http_caching=packages Geçerli yum meta verilerini temizlemek ve sistemi en son paketlerle güncelleştirmek için aşağıdaki komutu çalıştırın:BashKopyala yum clean all CentOS ‘ın eski bir sürümü için bir görüntü oluşturmadığınız takdirde, tüm paketlerin en son sürümüne güncelleştirilmesi önerilir:BashKopyala sudo yum -y update Bu komut çalıştırıldıktan sonra yeniden başlatma gerekebilir. Seçim Linux Integration Services (LIS) için sürücüleri yükler.  Önemli Bu adım, CentOS 6,3 ve önceki sürümleri için gereklidir ve sonraki sürümler için isteğe bağlıdır.BashKopyala sudo rpm -e hypervkvpd ## (may return error if not installed, that's OK) sudo yum install microsoft-hyper-v Alternatif olarak, RPM ‘yi sanal makinenize yüklemek için LIS indirme sayfasındaki el ile yükleme talimatlarını izleyebilirsiniz. Azure Linux aracısını ve bağımlılıklarını yükler. Waagent hizmetini başlatma ve etkinleştirme:BashKopyala sudo yum install python-pyasn1 WALinuxAgent sudo service waagent start sudo chkconfig waagent on Walınuxagent paketi NetworkManager ve NetworkManager-GNOME paketlerini, adım 3 ‘ te açıklandığı şekilde kaldırıldıklarında kaldırır. Grub yapılandırmanızda çekirdek önyükleme satırını, Azure için ek çekirdek parametreleri içerecek şekilde değiştirin. Bunu yapmak için, /boot/grub/menu.lst bir metin düzenleyicisinde açın ve varsayılan çekirdeğin aşağıdaki parametreleri içerdiğinden emin olun:KonsolKopyala console=ttyS0 earlyprintk=ttyS0 rootdelay=300 Bu, tüm konsol iletilerinin ilk seri bağlantı noktasına gönderilmesini de sağlar ve bu da hata ayıklama sorunlarını gidermek için Azure desteğine yardımcı olabilir. Yukarıdaki ‘ a ek olarak, aşağıdaki parametrelerin kaldırılması önerilir:KonsolKopyala rhgb quiet crashkernel=auto Grafik ve sessiz önyükleme, tüm günlüklerin seri bağlantı noktasına gönderilmesini istiyoruz bir bulut ortamında yararlı değildir. crashkernelİsterseniz seçenek, istenirse yapılandırılmış olabilir, ancak bu PARAMETRENIN VM ‘deki kullanılabilir bellek miktarını 128 MB veya daha fazla azaltır ve bu da daha küçük VM boyutları üzerinde sorunlu olabilir.  Önemli CentOS 6,5 ve önceki sürümleri de çekirdek parametresini ayarlamış olmalıdır numa=off . Bkz. Red hat KB 436883. SSH sunucusunun, önyükleme zamanında başlayacak şekilde yüklendiğinden ve yapılandırıldığından emin olun. Bu genellikle varsayılandır. İşletim sistemi diskinde takas alanı oluşturmayın. Azure Linux Aracısı, Azure ‘da sağlamaktan sonra sanal makineye bağlı yerel kaynak diskini kullanarak takas alanını otomatik olarak yapılandırabilir. Yerel kaynak diskinin geçici bir disk olduğunu ve VM ‘nin sağlaması geri edildiğinde boşaltılıp boşaltıyacağını unutmayın. Azure Linux aracısını yükledikten sonra (önceki adıma bakın), aşağıdaki parametreleri /etc/waagent.conf uygun şekilde değiştirin:KonsolKopyala ResourceDisk.Format=y ResourceDisk.Filesystem=ext4 ResourceDisk.MountPoint=/mnt/resource ResourceDisk.EnableSwap=y ResourceDisk.SwapSizeMB=2048 ## NOTE: set this to whatever you need it to be. Sanal makinenin sağlamasını kaldırmak ve Azure ‘da sağlamak üzere hazırlamak için aşağıdaki komutları çalıştırın:BashKopyala sudo waagent -force -deprovision+user export HISTSIZE=0 logout Hyper-V Yöneticisi ‘nde eylem-> kapat ‘ a tıklayın. Linux VHD ‘niz artık Azure ‘a yüklenmeye hazırdır. CentOS 7.0 + CentOS 7 (ve benzer türetme) değişiklikleri Azure için bir CentOS 7 sanal makinesinin hazırlanması, CentOS 6 ‘ ya çok benzer, ancak dikkat edilmesi gereken birkaç önemli fark vardır: NetworkManager paketi artık Azure Linux aracısıyla çakışmayacaktır. Bu paket varsayılan olarak yüklenir ve kaldırılmadığını öneririz. GRUB2 artık varsayılan önyükleme yükleyicisi olarak kullanıldığından, çekirdek parametrelerini düzenlemeyle ilgili yordam değişmiştir (aşağıya bakın). XFS artık varsayılan dosya sistemidir. İsterseniz ext4 dosya sistemi hala kullanılabilir. Yapılandırma adımları Hyper-V Yöneticisi ‘nde sanal makineyi seçin. Bağlan ‘ a tıklayarak sanal makine için bir konsol penceresi açın. Dosyayı oluşturun veya düzenleyin /etc/sysconfig/network ve aşağıdaki metni ekleyin:KonsolKopyalaNETWORKING=yes HOSTNAME=localhost.localdomain Dosyayı oluşturun veya düzenleyin /etc/sysconfig/network-scripts/ifcfg-eth0 ve aşağıdaki metni ekleyin:KonsolKopyalaDEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp TYPE=Ethernet USERCTL=no PEERDNS=yes IPV6INIT=no NM_CONTROLLED=no Ethernet arabirimleri için statik kurallar oluşturmaktan kaçınmak için uıdev kurallarını değiştirin. Bu kurallar Microsoft Azure veya Hyper-V ‘ d a bir sanal makine kopyalanırken sorunlara neden olabilir:BashKopyalasudo ln -s /dev/null /etc/udev/rules.d/75-persistent-net-generator.rules Azure veri merkezleri içinde barındırılan OpenLogic yansıtılarını kullanmak istiyorsanız, /etc/yum.repos.d/CentOS-Base.repo dosyayı aşağıdaki depolarla değiştirin. Bu, Azure Linux Aracısı için paketleri içeren [OpenLogic] deposunu da ekler:KonsolKopyala [base] name=CentOS-$releasever – Base #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever – Updates #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever – Extras #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever – Plus #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 ” style=”box-sizing: inherit; font-family: SFMono-Regular, Consolas, “Liberation Mono”, Menlo, Courier, monospace; font-size: 1em; outline-color: inherit; direction: ltr; position: relative; border: 0px; padding: 0px; display: block; line-height: 19px;”>[openlogic] name=CentOS-$releasever – openlogic packages for $basearch baseurl=http://olcentgbl.trafficmanager.net/openlogic/$releasever/openlogic/$basearch/ enabled=1 gpgcheck=0 [base] name=CentOS-$releasever – Base #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever – Updates #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever – Extras #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever – Plus #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7  Not Bu kılavuzun geri kalanı, [openlogic] aşağıda Azure Linux aracısını yüklemek için kullanılacak en az depoyu kullandığınızı varsayacaktır. Geçerli yum meta verilerini temizlemek ve tüm güncelleştirmeleri yüklemek için aşağıdaki komutu çalıştırın:BashKopyala sudo yum clean all CentOS ‘ın eski bir sürümü için bir görüntü oluşturmadığınız takdirde, tüm paketlerin en son sürümüne güncelleştirilmesi önerilir:BashKopyala sudo yum -y update Bu komut çalıştırıldıktan sonra bir yeniden başlatma gerekli olabilir. Grub yapılandırmanızda çekirdek önyükleme satırını, Azure için ek çekirdek parametreleri içerecek şekilde değiştirin. Bunu yapmak için /etc/default/grub bir metin düzenleyicisinde açın ve GRUB_CMDLINE_LINUX parametresini düzenleyin, örneğin:KonsolKopyala GRUB_CMDLINE_LINUX="rootdelay=300 console=ttyS0 earlyprintk=ttyS0 net.ifnames=0" Bu, tüm konsol iletilerinin ilk seri bağlantı noktasına gönderilmesini de sağlar ve bu da hata ayıklama sorunlarını gidermek için Azure desteğine yardımcı olabilir. Ayrıca, NIC ‘ler için yeni CentOS 7 adlandırma kurallarını kapatır. Yukarıdaki ‘ a ek olarak, aşağıdaki parametrelerin kaldırılması önerilir:KonsolKopyala rhgb quiet crashkernel=auto Grafik ve sessiz önyükleme, tüm günlüklerin seri bağlantı noktasına gönderilmesini istiyoruz bir bulut ortamında yararlı değildir. crashkernelİsterseniz seçenek, istenirse yapılandırılmış olabilir, ancak bu PARAMETRENIN VM ‘deki kullanılabilir bellek miktarını 128 MB veya daha fazla azaltır ve bu da daha küçük VM boyutları üzerinde sorunlu olabilir. Yukarıdaki her başına bir kez düzenlemenizi tamamladıktan sonra /etc/default/grub , grub yapılandırmasını yeniden derlemek için aşağıdaki komutu çalıştırın:BashKopyala sudo grub2-mkconfig -o /boot/grub2/grub.cfg Görüntüyü VMware, VirtualBox veya KVM ‘den oluşturuyorsanız: Hyper-V sürücülerinin initramfs ‘ye eklendiğinden emin olun: Düzenleme /etc/dracut.conf , içerik ekleme:KonsolKopyala add_drivers+=" hv_vmbus hv_netvsc hv_storvsc " İnitramfs ‘yi yeniden oluşturun:BashKopyala sudo dracut -f -v Azure VM uzantıları için Azure Linux aracısını ve bağımlılıklarını yükler:BashKopyala sudo yum install python-pyasn1 WALinuxAgent sudo systemctl enable waagent Sağlamayı işlemek için Cloud-init ‘ i yüklemekKonsolKopyala yum install -y cloud-init cloud-utils-growpart gdisk hyperv-daemons # Configure waagent for cloud-init sed -i 's/Provisioning.UseCloudInit=n/Provisioning.UseCloudInit=y/g' /etc/waagent.conf sed -i 's/Provisioning.Enabled=y/Provisioning.Enabled=n/g' /etc/waagent.conf echo "Adding mounts and disk_setup to init stage" sed -i '/ - mounts/d' /etc/cloud/cloud.cfg sed -i '/ - disk_setup/d' /etc/cloud/cloud.cfg sed -i '/cloud_init_modules/a\\ - mounts' /etc/cloud/cloud.cfg sed -i '/cloud_init_modules/a\\ - disk_setup' /etc/cloud/cloud.cfg echo "Allow only Azure datasource, disable fetching network setting via IMDS" cat > /etc/cloud/cloud.cfg.d/91-azure_datasource.cfg <<EOF datasource_list: [ Azure ] datasource: Azure: apply_network_config: False EOF if [[ -f /mnt/resource/swapfile ]]; then echo Removing swapfile - RHEL uses a swapfile by default swapoff /mnt/resource/swapfile rm /mnt/resource/swapfile -f fi echo "Add console log file" cat >> /etc/cloud/cloud.cfg.d/05_logging.cfg <<EOF # This tells cloud-init to redirect its stdout and stderr to # 'tee -a /var/log/cloud-init-output.log' so the user can see output # there without needing to look on the console. output: {all: '| tee -a /var/log/cloud-init-output.log'} EOF Değiştirme yapılandırması, işletim sistemi diskinde takas alanı oluşturmaz. Daha önce Azure Linux Aracısı, sanal makine Azure ‘da sağlandıktan sonra sanal makineye bağlı yerel kaynak diskini kullanarak takas alanını otomatik olarak yapılandırmıştı. Ancak bu artık Cloud-init tarafından işlenirse, kaynak diski biçimlendirmek için Linux Aracısı ‘nı kullanmanız gerekir . değiştirme dosyasını oluşturmak için aşağıdaki parametreleri /etc/waagent.conf uygun şekilde değiştirin:KonsolKopyala sed -i 's/ResourceDisk.Format=y/ResourceDisk.Format=n/g' /etc/waagent.conf sed -i 's/ResourceDisk.EnableSwap=y/ResourceDisk.EnableSwap=n/g' /etc/waagent.conf Bağlama, biçimlendirme ve değiştirme oluşturmak istiyorsanız şunlardan birini yapabilirsiniz: VM ‘yi her oluşturduğunuzda bunu Cloud-init yapılandırması olarak geçirin Bir Cloud-init yönergesini, sanal makine her oluşturulduğunda bunu yapan görüntüye bir kez kullanın:KonsolKopyalacat > /etc/cloud/cloud.cfg.d/00-azure-swap.cfg << EOF #cloud-config # Generated by Azure cloud image build disk_setup: ephemeral0: table_type: mbr layout: [66, [33, 82]] overwrite: True fs_setup: - device: ephemeral0.1 filesystem: ext4 - device: ephemeral0.2 filesystem: swap mounts: - ["ephemeral0.1", "/mnt"] - ["ephemeral0.2", "none", "swap", "sw", "0", "0"] EOF Sanal makinenin sağlamasını kaldırmak ve Azure ‘da sağlamak üzere hazırlamak için aşağıdaki komutları çalıştırın:KonsolKopyala # Note: if you are migrating a specific virtual machine and do not wish to create a generalized image, # skip the deprovision step # sudo rm -rf /var/lib/waagent/ # sudo rm -f /var/log/waagent.log # waagent -force -deprovision+user # rm -f ~/.bash_history # export HISTSIZE=0 # logout Hyper-V Yöneticisi ‘nde eylem-> kapat ‘ a tıklayın. Linux VHD ‘niz artık Azure ‘a yüklenmeye hazırdır. Sonraki adımlar Artık Azure ‘da yeni sanal makineler oluşturmak için CentOS Linux sanal sabit diskinizi kullanmaya hazırsınız. . Vhd dosyasını ilk kez Azure ‘a yüklüyorsanız, bkz. özel bir diskten LINUX VM oluşturma.
Windows 10’da VMware Device/Credential Guard Hatası nasıl çözülür?
Windows 10’da VMware Device/Credential Guard Hatası nasıl çözülür?
Windows 10 üzerinde VMware çalıştırmak istediğinizde aşağıdaki görüntüdeki gibi “Device/Credential Guard” hatası alabilirsiniz. Öncelikle aldığımız hatanın içeriğini inceleyelim. “VMware İş İstasyonu ve Aygıt / Kimlik Bilgisi Koruması uyumlu değil. VMware Workstation, Aygıt / Kimlik Bilgisi Korumasını devre dışı bıraktıktan sonra çalıştırılabilir. ” 1.Adım : Group Policy ayarlarından Aygıt ve Kimlik Korumasını devre dışı bırakalım. Windows+R tuşlarına basarak Çalıştır ekranını açıyoruz. “gpedit.msc” yazarak tamam diyoruz. 2.Adım : Bu aşamada yapılması gereken işlemlerin ekran görüntüsünü işletim sisteminizin diline göre kolaylık olması açısından hem Türkçe hem de İngilizce olarak paylaşıyorum. Aşağıdaki adımları takip ederek ilgili policy disable ediyoruz. 3.Adım : Program ekle kaldıra girerek Windows Özelliklerini yüklediğimiz ekranı açarak Hyper-V rolünün tikini kaldırıp tamam diyelim. 4.Adım : Windows arama kısmına “cmd” yazarak çıkan komut istemcisi uygulamasına sağ tıklayarak yönetici olarak çalıştıralım ve aşağıdaki kodları komut ekranında çalıştıralım. bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d “DebugTool” /application osloader bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path “\\\\EFI\\\\Microsoft\\\\Boot\\\\SecConfig.efi” bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215} bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO,DISABLE-VBS 4.Adım: Komut satırında aşağıdaki kodu da çalıştıralım. bcdedit /set hypervisorlaunchtype off Bilgisayarınızı restart ettikten sonra VM’i çalıştırabilirsiniz,
vSphere Update Manager la ESXI Versiyonu Nasıl Güncellenir
vSphere Update Manager la ESXI Versiyonu Nasıl Güncellenir
Merhaba, Bu makalede ESXI host’ların Versiyon güncelleştirme işleminin nasıl yapılacağından bahsedicem Öncelikle bu işlemleri yapmadan önce hostumuzu Maintance mode’a çektik Daha sonra Home > Update Manager >Server bölümünden ESXI images bölümünden Import Image diyerek Iso’muzu upload ediyoruz, daha sonra New Baseline ı seçip yeni Host Upgrade’i seçiyoruz. Baseline’a isim verdikten sonra Upload ettiğimiz Iso ile Baseline’ı ilişkilendiriyoruz. Kaydedip tamamlıyoruz. İşlemler tamamlandıktan sonra Custom Iso olarak eklenmiş oldu. Daha sonra Maintanace’e çekmiş olduğumuz host’a a gelip Update Manager Bölümünden Attach Baseline diyoruz Daha önce eklemiş olduğumuz Baseline’ı seçiyoruz İlgili Baseline Seçildikten sonra Remediate diyoruz Bu aşamada seçtiğmiz host üzerine yüklemek istediğimiz versiyon bilgilerini görüyoruz Kullanıcı sözleşmesini kabul ederek devam ediyorum Bu işlemi daha Schedule etmek isterseniz bu bölümden ayarlana bilir Üzerindeki sanal makinaların power statleri ile ilgili olarka herhangi bir aksiyon almasını istemediğim için Do not change vm power state diyoruz Default’ta olduğu gibi değerleri next ile devam edebilirsiniz Pre-Check yaptıktan sonra finish diyerek güncelleştirme işlemini başlatıyoruz. SSH la yada cihaz üzerinden yapılan güncelleştirmelere göre biraz daha uzun sürdüğünü söyleye bilirim. Umarım faydalı olur.