Takip et

Bacula Sunucusunu Ubuntu 14.04 Üzerine Kurulumu ve Yapılandırması

Bacula Sunucusunu Ubuntu 14.04 Üzerine Kurulumu ve Yapılandırması Bacula, açık kaynaklı, kurumsal düzeyde bir ağ yedekleme çözümüdür. S

Bacula Sunucusunu Ubuntu 14.04 Üzerine Kurulumu ve Yapılandırması

Bacula, açık kaynaklı, kurumsal düzeyde bir ağ yedekleme çözümüdür. Sunucuların, iş istasyonlarının veya ağa bağlı bilgisayarların yedeklenmesini, doğrulanmasını ve geri yüklenmesini sağlayan bir dizi programdan oluşur. Bu makale, Bacula yedekleme sunucusunu (Director, Storage Daemon ve Console) eski ancak hala bazı ortamlarda karşılaşılabilecek olan Ubuntu 14.04 LTS işletim sistemi üzerine nasıl kuracağınızı ve temel düzeyde nasıl yapılandıracağınızı adım adım açıklamaktadır. Ubuntu 14.04, uzun süreli destek (LTS) sürümü olmasına rağmen artık resmi olarak desteklenmemektedir, ancak bu kılavuz Bacula’nın temel bileşenlerinin işleyişini anlamak ve eski sistemler üzerinde çalışmak zorunda kalanlar için değerli bir kaynak olacaktır.

Bacula’ya Giriş ve Temel Bileşenleri

Bacula, modüler bir yapıya sahiptir ve farklı işlevleri yerine getiren çeşitli bileşenlerden oluşur. Bu modüler yapı, Bacula’yı esnek ve ölçeklenebilir kılar. Kurulum sürecine başlamadan önce bu bileşenleri anlamak, sistemin genel işleyişini kavramanıza yardımcı olacaktır.

Bacula’nın Temel Bileşenleri

* Director (bacula-dir): Bacula yedekleme sisteminin beyni ve kalbidir. Tüm yedekleme, geri yükleme, doğrulama ve arşivleme operasyonlarını yönetir. Hangi dosyaların yedekleneceğini, ne zaman yedekleneceğini, nereye yedekleneceğini ve hangi istemcilerin yedekleneceğini belirleyen işleri (Jobs) planlar. Director, tüm yapılandırma bilgilerini ve yedekleme kataloğunu (Catalog) yönetir.
* Storage Daemon (bacula-sd): Yedekleme verilerinin fiziksel olarak depolandığı ve yönetildiği bileşendir. Disklere, teyplere veya bulut depolama alanlarına veri yazmaktan ve okumaktan sorumludur. Director’dan gelen komutları alır ve yedekleme işlemlerini Storage ortamında gerçekleştirir.
* File Daemon (bacula-fd): Yedeklenecek veya geri yüklenecek dosyaların bulunduğu istemci makine üzerinde çalışan yazılımdır. Director’dan gelen komutları alır, belirtilen dosyaları okur ve Storage Daemon’a gönderir veya geri yükleme sırasında dosyaları Storage Daemon’dan alıp istemciye yazar. Bu makalede, Bacula sunucusunun kendisini de bir istemci olarak yedekleyebilmek için File Daemon’ı da kuracağız.
* Catalog: Yedeklenen tüm dosyalar, dizinler ve işler hakkında bilgiler içeren bir veritabanıdır. Bacula, bu kataloğu kullanarak belirli bir dosyayı hızlıca bulabilir ve geri yükleyebilir. MySQL, PostgreSQL veya SQLite gibi veritabanları kullanılabilir. Bu kılavuzda MySQL kullanacağız.
* Console: Bacula Director ile iletişim kurarak yedekleme işlerini yönetmek, durumu izlemek ve geri yükleme işlemlerini başlatmak için kullanılan komut satırı veya grafik arayüzüdür. bconsole komut satırı arayüzünü kullanacağız.

Neden Ubuntu 14.04?

Ubuntu 14.04 (Trusty Tahr), Nisan 2014’te piyasaya sürülen ve Nisan 2019’a kadar resmi olarak desteklenen bir Uzun Süreli Destek (LTS) sürümüdür. Güncel sistemler için Ubuntu’nun daha yeni sürümleri tercih edilmelidir. Ancak, bazı eski altyapılarda veya belirli uygulama bağımlılıkları nedeniyle hala 14.04 kullanan sistemler bulunabilir. Bu makale, bu tür senaryolar için veya Bacula’nın temel kurulum prensiplerini eski bir ortamda öğrenmek isteyenler için hazırlanmıştır.

Ön Koşullar ve Sistem Güncellemesi

Kuruluma başlamadan önce, Ubuntu 14.04 sunucunuzun temel gereksinimleri karşıladığından ve güncel olduğundan emin olmalısınız. Root ayrıcalıklarına sahip bir kullanıcı olarak çalışmanız gerekecektir.

Sistem Gereksinimleri

* İşletim Sistemi: Ubuntu 14.04 LTS (64-bit önerilir)
* RAM: En az 1 GB (yedeklenecek veri miktarına ve istemci sayısına göre artırılabilir)
* CPU: Tek çekirdekli işlemci yeterli olabilir, ancak daha iyi performans için çok çekirdekli işlemci önerilir.
* Disk Alanı: İşletim sistemi ve Bacula için en az 10 GB, yedekleme verileri için ise ayrı ve yeterli bir disk alanı.

Sistemi Güncelleme

Kuruluma başlamadan önce sistem paket listesini güncellemeli ve mevcut paketleri yükseltmelisiniz. Bu, olası bağımlılık sorunlarını önlemeye yardımcı olacaktır.

sudo apt-get update
sudo apt-get upgrade -y

Veritabanı Kurulumu: MySQL

Bacula, yedekleme katalog bilgileri için bir veritabanına ihtiyaç duyar. Bu makalede, popüler ve yaygın olarak kullanılan MySQL veritabanını kuracak ve yapılandıracağız.

MySQL Sunucusunun Kurulumu

MySQL sunucusunu ve ilgili istemci araçlarını aşağıdaki komutla kurun:

sudo apt-get install mysql-server mysql-client -y

Kurulum sırasında MySQL root kullanıcısı için bir şifre belirlemeniz istenecektir. Güçlü bir şifre seçtiğinizden ve bu şifreyi güvende tuttuğunuzdan emin olun.

MySQL Veritabanının Güvenliğini Sağlama

Kurulumdan sonra, MySQL’in varsayılan güvenlik ayarlarını yapılandırmak iyi bir uygulamadır. Bu, test amaçlı kullanıcıları ve veritabanlarını kaldırmayı, anonim erişimi engellemeyi ve uzaktan root erişimini devre dışı bırakmayı içerir.

sudo mysql_secure_installation

Bu komut size birkaç soru soracaktır:
* Enter current password for root (enter for none): Kurulum sırasında belirlediğiniz root şifresini girin.
* Change the root password? (Y/n): Hayır diyebilirsiniz, zaten belirlediniz.
* Remove anonymous users? (Y/n): Y
* Disallow root login remotely? (Y/n): Y (Güvenlik için uzaktan root erişimini kapatmak iyi bir fikirdir.)
* Remove test database and access to it? (Y/n): Y
* Reload privilege tables now? (Y/n): Y

Bacula İçin MySQL Veritabanı ve Kullanıcı Oluşturma

Bacula’nın MySQL’e bağlanabilmesi için özel bir veritabanı ve kullanıcı oluşturmamız gerekir. Bu, Bacula’nın kendi veritabanı ayrıcalıklarıyla çalışmasını sağlar ve güvenlik açısından daha iyidir.

MySQL konsoluna root olarak giriş yapın:

mysql -u root -p

Şifrenizi girin. Ardından aşağıdaki SQL komutlarını çalıştırın. bacula_password yerine güçlü bir şifre belirlediğinizden emin olun.

CREATE DATABASE bacula;
CREATE USER 'bacula'@'localhost' IDENTIFIED BY 'bacula_password';
GRANT ALL PRIVILEGES ON bacula.* TO 'bacula'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Bu komutlar, bacula adında bir veritabanı, bacula adında bir kullanıcı oluşturur ve bu kullanıcıya bacula veritabanı üzerinde tüm ayrıcalıkları verir. localhost ile sınırlamak, kullanıcının yalnızca yerel makineden bağlanabileceği anlamına gelir.

Bacula Sunucusunun Kurulumu

Ubuntu 14.04 depolarında Bacula’nın hazır paketleri bulunmaktadır. Bu paketler, Director, Storage Daemon, File Daemon ve Console bileşenlerini içerir.

Bacula Paketlerini Kurma

Aşağıdaki komutla gerekli Bacula bileşenlerini kurun:

sudo apt-get install bacula-director-mysql bacula-sd bacula-client bacula-console -y

* bacula-director-mysql: MySQL desteği ile Director bileşenini kurar.
* bacula-sd: Storage Daemon bileşenini kurar.
* bacula-client: Bu, File Daemon (bacula-fd) paketidir. Sunucunun kendisini yedeklemek için gereklidir.
* bacula-console: Yönetim konsolu (bconsole) paketini kurar.

Kurulum sırasında, Bacula’nın veritabanı yapılandırması hakkında sorular sorulacaktır:

1. “Configure database for bacula-director-mysql with dbconfig-common?”: Yes seçeneğini seçin. Bu, Bacula’nın veritabanı şemasını otomatik olarak oluşturmasına yardımcı olacaktır.
2. “Database type to be used by bacula-director:”: mysql seçeneğini seçin.
3. “Password of the database administrator:”: MySQL root kullanıcısının şifresini girin.
4. “Password for bacula-director-mysql to register with the database:”: Bacula için daha önce oluşturduğumuz bacula kullanıcısının şifresini (bacula_password) girin.

Bu adımlar tamamlandığında, Bacula bileşenleri kurulmuş ve veritabanı şeması oluşturulmuş olacaktır.

Bacula Yapılandırması

Bacula’nın gücü, esnek ve kapsamlı yapılandırma yeteneklerinden gelir. Ana yapılandırma dosyaları /etc/bacula/ dizininde bulunur. Bu dizinde bacula-dir.conf (Director), bacula-sd.conf (Storage Daemon) ve bacula-fd.conf (File Daemon) gibi dosyalar bulunur.

ÖNEMLİ: Yapılandırma dosyalarında değişiklik yapmadan önce daima orijinal dosyaların bir yedeğini alın.

sudo cp /etc/bacula/bacula-dir.conf /etc/bacula/bacula-dir.conf.orig
sudo cp /etc/bacula/bacula-sd.conf /etc/bacula/bacula-sd.conf.orig
sudo cp /etc/bacula/bacula-fd.conf /etc/bacula/bacula-fd.conf.orig

Director Yapılandırması (bacula-dir.conf)

Director yapılandırma dosyası, Bacula sisteminin en karmaşık ve merkezi parçasıdır. Yedekleme işlerini, istemcileri, depolama birimlerini, zamanlamaları ve diğer birçok parametreyi tanımlar.

sudo nano /etc/bacula/bacula-dir.conf

Varsayılan yapılandırma dosyası genellikle iyi bir başlangıç noktasıdır. Aşağıda, temel bileşenlerin yapılandırmasını ve eklemeniz gerekebilecek önemli kısımları açıklayacağız.

1. Director Tanımı:
Bu kısım, Director’ın adını ve şifresini tanımlar. Bu şifre, Console ve File Daemon gibi diğer bileşenlerin Director’a bağlanması için kullanılır.

Director {
  Name = bacula-dir
  DIRport = 9101
  QueryFile = "/etc/bacula/query.sql"
  WorkingDirectory = "/var/lib/bacula"
  PidDirectory = "/var/run/bacula"
  MaximumConcurrentJobs = 1
  Password = "your_director_password" # Güçlü bir şifre belirleyin
  Messages = Daemon
}

2. Catalog Tanımı:
Bacula’nın veritabanı bağlantı bilgilerini içerir.

Catalog {
  Name = MyCatalog
  dbdriver = "mysql" # PostgreSQL kullanıyorsanız "postgresql"
  dbaddress = localhost
  dbport = 3306
  dbuser = bacula
  dbpassword = "bacula_password" # MySQL kurulumunda belirlediğiniz şifre
  dbname = bacula
}

3. Storage Tanımı:
Director’ın hangi Storage Daemon ile iletişim kuracağını belirtir.

Storage {
  Name = FileStorage
  Address = localhost # Storage Daemon'ın çalıştığı IP adresi veya hostname
  SDPort = 9103
  Password = "your_sd_password" # Storage Daemon için güçlü bir şifre belirleyin
  Device = FileChgr0
  MediaRetention = 30 days # Yedeklerin ne kadar süre saklanacağını belirler
  WriteBootstrap = "/var/lib/bacula/bacula.bsr"
}

your_sd_password kısmını not alın, Storage Daemon yapılandırmasında da aynı şifreyi kullanacağız.

4. Client Tanımı:
Yedeklenecek her istemci (File Daemon çalıştıran her makine) burada tanımlanmalıdır. Kendi Bacula sunucumuzu da yedeklemek için bir Client tanımı ekleyeceğiz.

Client {
  Name = bacula-fd
  Address = localhost # İstemcinin IP adresi veya hostname
  FDPort = 9102
  Catalog = MyCatalog
  Password = "your_fd_password" # File Daemon için güçlü bir şifre belirleyin
  FileRetention = 60 days
  JobRetention = 6 months
  AutoPrune = yes
}

your_fd_password kısmını not alın, File Daemon yapılandırmasında da aynı şifreyi kullanacağız.

5. FileSet Tanımı:
Yedeklenecek dosyaların ve dizinlerin bir listesidir. Örnek olarak /etc dizinini yedekleyecek bir FileSet oluşturalım.

FileSet {
  Name = "FullSet"
  Include {
    Options {
      signature = MD5 # Dosya bütünlüğünü kontrol etmek için MD5 kullanır
      compression = GZIP # Yedekleme sırasında sıkıştırma uygular
    }
    File = /etc
  }
  Exclude {
    File = /etc/bacula/bacula-dir.conf.orig
    File = /etc/bacula/bacula-sd.conf.orig
    File = /etc/bacula/bacula-fd.conf.orig
  }
}

6. Schedule Tanımı:
Yedekleme işlerinin ne zaman çalışacağını belirler.

Schedule {
  Name = "WeeklyCycle"
  Run = Full 1st sun at 01:00
  Run = Differential 2nd-5th sun at 01:00
  Run = Incremental mon-sat at 01:00
}

Bu örnek, ayın ilk Pazar günü tam (Full) yedekleme, sonraki Pazar günleri fark yedekleme (Differential) ve haftanın diğer günleri artımlı (Incremental) yedekleme yapar.

7. Pool Tanımı:
Yedekleme ortamlarını (Volume’ları) yönetir.

Pool {
  Name = Default
  Pool Type = Backup
  Recycle = yes # Eski Volume'ları yeniden kullan
  AutoPrune = yes # Volume'ları otomatik olarak buda
  VolumeRetention = 30 days # Volume'ların ne kadar süre saklanacağını belirler
  Maximum Volume Bytes = 5G # Bir Volume'un maksimum boyutu
  Label Format = "Default-" # Volume etiket formatı
}

Pool {
  Name = File
  Pool Type = Backup
  Recycle = yes
  AutoPrune = yes
  VolumeRetention = 30 days
  Maximum Volume Bytes = 5G
  Label Format = "File-"
}

8. Job Tanımı:
Bir yedekleme işini tanımlar. Hangi istemcinin, hangi FileSet’in, hangi Schedule’ın ve hangi Pool’un kullanılacağını belirtir.

Job {
  Name = "BackupClient1"
  Client = bacula-fd # Yedeklenecek istemcinin adı
  FileSet = "FullSet" # Kullanılacak FileSet
  Schedule = "WeeklyCycle" # Kullanılacak Schedule
  Type = Backup
  Level = Incremental # Varsayılan yedekleme seviyesi
  Storage = FileStorage # Kullanılacak Storage Daemon
  Pool = Default # Kullanılacak Pool
  Messages = Standard
  WriteBootstrap = "/var/lib/bacula/%c.bsr"
}

Job {
  Name = "RestoreClient1"
  Client = bacula-fd
  Type = Restore
  Messages = Standard
  FileSet = "FullSet" # Geri yükleme için aynı FileSet'i kullan
  Storage = FileStorage
  Pool = Default
}

Yapılandırma dosyasını kaydedin ve kapatın (Ctrl+O, Enter, Ctrl+X).

Storage Daemon Yapılandırması (bacula-sd.conf)

Storage Daemon, yedekleme verilerini depolayan bileşendir. bacula-sd.conf dosyasını düzenleyin:

sudo nano /etc/bacula/bacula-sd.conf

1. Storage Daemon Tanımı:

Storage {
  Name = bacula-sd
  SDPort = 9103
  WorkingDirectory = "/var/lib/bacula"
  PidDirectory = "/var/run/bacula"
  PluginDirectory = "/usr/lib/bacula/plugins"
  Messages = Daemon
}

2. Director Tanımı:
Storage Daemon’ın hangi Director’dan komut alacağını belirtir. Buradaki şifre, bacula-dir.conf dosyasındaki Storage tanımında belirlediğiniz şifre ile aynı olmalıdır (your_sd_password).

Director {
  Name = bacula-dir
  Password = "your_sd_password" # bacula-dir.conf'taki Storage Password ile aynı
}

3. Device Tanımı:
Yedekleme verilerinin fiziksel olarak nereye yazılacağını tanımlar. Varsayılan olarak bir disk dizini kullanılır.

Device {
  Name = FileChgr0
  Media Type = File
  Archive Device = /var/lib/bacula/storage # Yedekleme verilerinin depolanacağı dizin
  LabelMedia = yes
  Random Access = yes
  AutomaticMount = yes
  RemovableMedia = no
  AlwaysOpen = no
}

Archive Device olarak belirtilen dizinin mevcut olduğundan ve Bacula kullanıcısının yazma izinlerine sahip olduğundan emin olun:

sudo mkdir -p /var/lib/bacula/storage
sudo chown -R bacula:bacula /var/lib/bacula
sudo chmod -R 770 /var/lib/bacula/storage

Yapılandırma dosyasını kaydedin ve kapatın.

File Daemon Yapılandırması (bacula-fd.conf)

File Daemon, istemci makinede çalışır ve yedeklenecek dosyaları Director’a sağlar. Kendi sunucumuzu bir istemci olarak yedeklemek için bu dosyayı yapılandırmalıyız.

sudo nano /etc/bacula/bacula-fd.conf

1. File Daemon Tanımı:

FileDaemon {
  Name = bacula-fd
  FDport = 9102
  WorkingDirectory = "/var/lib/bacula"
  PidDirectory = "/var/run/bacula"
  PluginDirectory = "/usr/lib/bacula/plugins"
  Messages = Daemon
}

2. Director Tanımı:
File Daemon’ın hangi Director’a rapor vereceğini belirtir. Buradaki şifre, bacula-dir.conf dosyasındaki Client tanımında belirlediğiniz şifre ile aynı olmalıdır (your_fd_password).

Director {
  Name = bacula-dir
  Password = "your_fd_password" # bacula-dir.conf'taki Client Password ile aynı
}

Yapılandırma dosyasını kaydedin ve kapatın.

Konsol Yapılandırması (bconsole.conf)

bconsole komut satırı arayüzünün Director’a bağlanabilmesi için de bir yapılandırma dosyası vardır.

sudo nano /etc/bacula/bconsole.conf

Director bölümündeki Password değerini, bacula-dir.conf dosyasındaki Director şifrenizle (your_director_password) aynı olacak şekilde ayarlayın.

Director {
  Name = bacula-dir
  DIRport = 9101
  Address = localhost
  Password = "your_director_password" # bacula-dir.conf'taki Director Password ile aynı
}

Kaydedin ve kapatın.

Bacula Servislerinin Başlatılması ve Kontrolü

Tüm yapılandırmaları tamamladıktan sonra, Bacula servislerini başlatabilir ve durumlarını kontrol edebilirsiniz.

Yapılandırma Dosyalarını Test Etme

Servisleri başlatmadan önce yapılandırma dosyalarında herhangi bir hata olup olmadığını kontrol etmek iyi bir uygulamadır:

sudo bacula-dir -t -c /etc/bacula/bacula-dir.conf
sudo bacula-sd -t -c /etc/bacula/bacula-sd.conf
sudo bacula-fd -t -c /etc/bacula/bacula-fd.conf

Herhangi bir hata mesajı almazsanız, yapılandırma dosyalarınızın sözdizimsel olarak doğru olduğu anlamına gelir.

Servisleri Başlatma

sudo service bacula-director start
sudo service bacula-sd start
sudo service bacula-client start # Bu, bacula-fd servisini başlatır

Servis Durumlarını Kontrol Etme

sudo service bacula-director status
sudo service bacula-sd status
sudo service bacula-client status

Tüm servislerin running durumunda olduğunu görmelisiniz.

Servislerin Otomatik Başlatılmasını Sağlama

Ubuntu 14.04, SysVinit tabanlı olduğu için servislerin başlangıçta otomatik olarak başlatılması için update-rc.d kullanırız:

sudo update-rc.d bacula-director defaults
sudo update-rc.d bacula-sd defaults
sudo update-rc.d bacula-client defaults

Bacula Konsolu (bconsole) Kullanımı ve İlk Yedekleme

Bacula Director ile etkileşim kurmak için bconsole komut satırı arayüzünü kullanacağız.

bconsole’a Bağlanma

bconsole

Başarılı bir şekilde bağlanırsanız, *: ile biten bir istem (prompt) göreceksiniz.

Temel bconsole Komutları

* status director: Director’ın durumunu gösterir.
* status storage: Storage Daemon’ın durumunu gösterir.
* status client: İstemcilerin durumunu gösterir.
* list clients: Tanımlanmış istemcileri listeler.
* list jobs: Tanımlanmış işleri listeler.
list fileset: Tanımlanmış FileSet’leri listeler.
* help: Tüm komutları listeler.
* quit: Konsoldan çıkar.

İlk olarak, Director ve Storage Daemon’ın doğru bir şekilde çalıştığını kontrol edin:

*status director
*status storage

Her ikisinin de “Running” veya benzeri bir durumda olduğunu görmelisiniz.

Volume Oluşturma ve Etiketleme

Bacula, yedekleme verilerini Volume’lara yazar. Bir yedekleme işini çalıştırmadan önce, Storage Daemon’ın kullanabileceği bir Volume oluşturmanız ve etiketlemeniz gerekir.

*label

Bu komut size aşağıdaki gibi sorular soracaktır:
* The defined Storage resources are:
1: FileStorage
Select Storage resource (1-1): 1
* Enter new Volume name: Default-0001 (veya istediğiniz başka bir isim, Pool tanımındaki Label Format ile uyumlu olmalı)
* The defined Pool resources are:
1: Default
2: File
Select Pool (1-2): 1
* Do you want to mount the storage? (yes/no): yes
* Creating new Volume "Default-0001" on device "FileChgr0" (/var/lib/bacula/storage).
Enter yes to accept the Volume and close the device. : yes

Bu adımlarla Default-0001 adında bir Volume oluşturulmuş ve Default Pool’una atanmıştır.

İlk Yedekleme İşini Çalıştırma

Şimdi tanımladığımız BackupClient1 işini çalıştırabiliriz.

*run

Bu komut size mevcut işleri listeleyecek ve çalıştırmak istediğiniz işi seçmenizi isteyecektir:
* A job name must be specified.
The defined Job resources are:
1: BackupClient1
2: RestoreClient1
Select Job resource (1-2): 1
* Run Backup job
Job: BackupClient1
Storage: FileStorage
Pool: Default (From Job resource)
Fileset: FullSet (From Job resource)
Client: bacula-fd (From Job resource)
When: 2023-10-27 10:00:00
Level: Incremental
Continue? (yes/no): yes

Yedekleme işi arka planda başlayacaktır. İşin durumunu kontrol etmek için messages veya status director komutlarını kullanabilirsiniz.

*messages
*status director

Yedekleme işlemi tamamlandığında, status director çıktısında işin Terminated normally olduğunu görmelisiniz. Yedeklenen dosyalar /var/lib/bacula/storage dizininde Default-0001 Volume’u içinde saklanacaktır.

Yedeklenen Verileri Geri Yükleme (Restore)

Yedeklemenin amacı, ihtiyaç duyulduğunda verileri geri yükleyebilmektir. Bacula ile geri yükleme işlemi oldukça basittir.

*restore

Bu komut size geri yükleme seçeneklerini sunacaktır:

1. Restore last backup for a Client
2. Restore backup for a Client before a specified time
3. Restore any backup for a Client
4. Restore from a specified JobId
5. Restore the most recent backup for a Client
6. Select Client

Genellikle 5 seçeneği (en son yedeği geri yükle) veya 1 seçeneği (bir istemcinin son yedeğini geri yükle) tercih edilir.
Örneğin, 5 seçeneğini seçin:

* Select Client (1-1): 1 (bacula-fd)
* You have selected the following JobId: (Burada en son yedekleme işinin ID’si listelenir)
* To where should the files be restored? (Varsayılan olarak /tmp/bacula-restore dizinine geri yüklenecektir. Başka bir dizine geri yüklemek isterseniz buraya yazabilirsiniz. Örneğin: /tmp/restore_test)
* OK to restore? (yes/no): yes

Geri yükleme işlemi başladığında, Bacula, seçilen dosyaları belirtilen dizine geri yükleyecektir. İşlem tamamlandığında, messages komutuyla veya belirtilen dizini kontrol ederek dosyaların geri yüklendiğini doğrulayabilirsiniz.

Güvenlik Hususları

Bacula sunucusunun güvenliği, yedekleme altyapınızın genel güvenliği için kritik öneme sahiptir.

* Firewall Kurulumu: Bacula bileşenleri belirli portlar üzerinden iletişim kurar. Bu portlara yalnızca yetkili makinelerden erişime izin veren bir güvenlik duvarı (ufw) yapılandırmalısınız.
* Director: 9101/TCP
* File Daemon: 9102/TCP
* Storage Daemon: 9103/TCP

sudo ufw allow 9101/tcp
    sudo ufw allow 9102/tcp
    sudo ufw allow 9103/tcp
    sudo ufw enable
    sudo ufw status

* Şifre Güvenliği: Bacula yapılandırma dosyalarında kullanılan tüm şifrelerin (Director, Storage, Client, MySQL) güçlü ve tahmin edilemez olduğundan emin olun. Bu şifreleri düzenli olarak değiştirmeyi düşünün.
* Veritabanı Güvenliği: MySQL veritabanı kullanıcıları için en az ayrıcalık ilkesini uygulayın. Bacula kullanıcısının yalnızca Bacula veritabanına erişimi olmalıdır.
* Yedekleme Verisi Bütünlüğü: Bacula, yedekleme sırasında MD5 gibi imza algoritmalarını kullanarak veri bütünlüğünü kontrol etme yeteneğine sahiptir. Bu özelliği FileSet tanımında etkinleştirin.
* Fiziksel Güvenlik: Yedekleme verilerinin depolandığı fiziksel ortamın (diskler, sunucu) fiziksel güvenliğini sağlayın.

Sorun Giderme (Troubleshooting)

Bacula karmaşık bir sistem olabilir ve kurulum veya yapılandırma sırasında sorunlarla karşılaşmak olasıdır.

* Log Dosyalarını Kontrol Etme: Bacula, tüm işlemlerini /var/log/bacula/bacula.log dosyasına kaydeder. Sorun gidermeye başlarken bu dosyayı kontrol etmek ilk adımdır.

sudo tail -f /var/log/bacula/bacula.log

* Servis Durumlarını Kontrol Etme: Her zaman service bacula-director status, service bacula-sd status ve service bacula-client status komutlarıyla servislerin çalışıp çalışmadığını kontrol edin.
* Yapılandırma Dosyalarını Doğrulama: bacula-dir -t, bacula-sd -t, bacula-fd -t komutlarıyla yapılandırma dosyalarınızın sözdizimsel olarak doğru olduğundan emin olun.
* Ağ Bağlantısını Kontrol Etme: telnet localhost 9101 (Director), telnet localhost 9102 (File Daemon), telnet localhost 9103 (Storage Daemon) komutlarıyla ilgili portların açık ve erişilebilir olduğunu kontrol edin. Eğer uzaktaki bir istemci veya depolama ile sorun yaşıyorsanız, istemci veya depolama sunucusundan ilgili Bacula portlarına ping ve telnet ile erişimi test edin. Firewall ayarlarını kontrol edin.
* Şifreleri Kontrol Etme: Yapılandırma dosyalarındaki şifrelerin doğru ve eşleştiğinden emin olun. Director, Storage ve Client bileşenleri arasındaki şifrelerin tutarlı olması gerekir.
* Veritabanı Bağlantısı: bacula-dir.conf dosyasındaki Catalog bölümündeki MySQL bağlantı bilgilerini (kullanıcı adı, şifre, veritabanı adı) kontrol edin. MySQL sunucusunun çalıştığından emin olun.

Sonuç

Bu makale, Bacula yedekleme sunucusunu Ubuntu 14.04 LTS üzerine kurma ve temel düzeyde yapılandırma sürecini adım adım açıklamıştır. Bacula’nın modüler mimarisi, MySQL veritabanı kurulumu, Director, Storage Daemon ve File Daemon bileşenlerinin yapılandırılması, ilk yedekleme işinin çalıştırılması ve geri yükleme işlemleri ayrıntılı olarak ele alınmıştır. Güvenlik hususları ve sorun giderme ipuçları da sunulmuştur.

Bacula, güçlü ve esnek bir yedekleme çözümüdür. Bu temel kurulum, Bacula dünyasına adım atmanız için iyi bir başlangıç noktasıdır. Daha karmaşık senaryolar için farklı depolama aygıtları (teypler, bulut depolama), gelişmiş zamanlama seçenekleri, otomatik Volume yönetimi ve web tabanlı yönetim arayüzleri (örneğin, Baculum) gibi Bacula’nın diğer özelliklerini araştırmanız önerilir. Eski bir sistem üzerinde çalışmak zorunda kalan veya Bacula’nın temel işleyişini öğrenmek isteyen herkes için bu kılavuz değerli bir referans olacaktır. Unutmayın, güncel ve desteklenen işletim sistemlerini kullanmak her zaman en iyi güvenlik ve performans uygulamasıdır.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version