Baculaネットワークバックアップ環境構築


Baculaネットワークバックアップ環境構築


私の学生党の1名、課程の中でbaculaのネットのバックアップの部分を設計することを選んで、特にこの部分をブログに書いて、baculaに対してあまり理解していないため、その上自分で環境を作る時間まで少し長くて、もし間違いの地方があれば、みんながレンガを撮ることを歓迎します!
前提声明:本人が環境を構築するのはDirectorの端で、SDの端は1台のmasterという機械の上で、FDの端は1台のslave 1という機械の上で、masterの住所は192.168.10.1で、slave 1の住所は192.168.10.2です.バージョン紹介:Linux:CentOS-5.8-x 86_64-bin-DVD-1of2.iso Bacula:bacula-7.2.0.tar.gz
  • の導入手順
  • 導入成功後の使用方法
  • 導入後のスクリーンショット
  • 導入中に発生した問題
  • 一、配置の操作手順;1、2つの仮想マシンを作成し、IPとhostnameを修正し、/etc/hostsファイル1)IPを修正する
    vi /etc/sysconfig/network-scripts/ifcfg-eth0
    BOOTPROTO=static
    IPADDR=192.168.10.1192.168.10.2, )
    NETMASK=255.255.255.0
    GATEWAY=192.168.10.253 ( )

    2)ホスト名の変更
    vi /etc/sysconfig/network
    NETWORKING=yes
    HOSTNAME=master(slave1)

    3)構成/etc/hostsファイル
    vi /etc/hosts
    192.168.10.1    master
    192.168.10.2    slave1
    127.0.0.1   localhost

    4)即時有効化:
    service network restart

    5)仮想マシンネットワークオプションを変更し、puttyを使用して操作できます.ホストホストのみhost-onlyアダプタ
    2、GCCコンパイラとMySQL 1)をインストールyumソースを構成し、ディスクをyumソースとして使用する
    cd /etc/yum.repos.d/

    ディレクトリバックアッププロファイルの作成
    mkdir /backup/yum -p
    mv CentOS-Base.repo /backup/yum
    mv CentOS-Debuginfo.repo /backup/yum
    mv CentOS-Vault.repo /backup/yum

    プロファイルの変更
    vi CentOS-Media.repo
    baseurl=file:///mnt/cdrom
    gpgcheck=1
    enabled=1

    CDマウントディレクトリmkdir/mnt/cdromマウントディスクの作成(手動操作)マウント
    mount /dev/cdrom /mnt/cdrom

    2)インストールベースキット、開発キット、開発クラスライブラリ、MySQL
    yum groupinstall "Base"
    yum groupinstall "Development tools" -y
    yum groupinstall  "Development Libraries" -y
    yum install mysql mysql-devel mysql-server

    3)マウントディスクの終了前の操作umount/dev/cdromマウントディスクの終了
    3、Baculaがサーバー側とクライアント側で行う操作:1)bacula-7.2.0をダウンロードする.tar.gz,本人がbaculaのために選択した経路は/application/baculaである.
    #mkdir -p /application/bacula

    2)filezillaを使用する.Exceウィジェットは、Windowsの圧縮パッケージをLinuxの/アプリケーション/baculaパスにアップロードします.(scpなど様々な方法で可能)3)baculaファイルを解凍する
    #tar zxvf bacula-7.2.0.tar.gz

    サーバ側での操作:
    #cd bacula-7.2.0
    #./configure --prefix=/application/bacula --with-mysql( yum , MySQL )
    #make
    #make install

    baculaをインストールした後、baculaに対応するMySQLデータベースを作成し、データベースにアクセスする権限が必要です.まず、エラーが発生しないようにMySQLを起動し、ユーザー名root、パスワードが空の方法でMySQLにログインします.
    #service mysqld start
    #mysql -uroot -p
    #:[ enter ]
    mysql>exit
    
    #cd /application/bacula/etc
    #./grant_mysql_privileges
    #./create_mysql_database
    #./make_mysql_tables

    その後、MySQLでテーブルが作成されたかどうかを確認できます.
    クライアントでの操作:
    #cd bacula-7.2.0
    #./configure --prefix=/application/bacula --enable-client-only
    #make
    #make install

    構成サーバ側サーバ側は主に3つのファイルを構成し、それぞれbconsole.conf,bacula-dir.义齿conf.その中にはbconsole.conf構成console側のファイル、bacula-dir.confはbaculaコアプロファイル、bacula-sd.confはSD側を構成するファイルです.1)vi/application/bacula/etc/bconsole.confはDirectorのNameとpasswordに注意して、このいくつかのプロファイルの中で複数のパスワードのオプションがあって、万一に備えて、すべてのパスワードを同じにするのは正しい道です!addressはサーバー側のアドレスで、ポート番号のオプションについては、Directorは9101、FDポート番号は9102、SDポート番号は9102です.これは変更する必要はありません.プロファイルにエラーがあれば、参考にしてください.
    2)vi/application/bacula/etc/bacula-dir.confはbacula-dir.confには10の論理セグメントがあります.Directorはグローバル設定Jobdefs定義実行タスクの共通属性を定義し、タスクを継承することができます.競合がある場合はjobに準拠します.jobカスタムバックアップまたはリカバリのタスクFilesetは、バックアップするデータを定義し、バックアップしないデータSehedule定義バックアップ時間ポリシーClient定義バックアップするホストアドレスを定義します.つまりクライアントアドレスStorage定義データの格納方式Catalog定義バックグラウンドデータベースMessage定義送信ログレポートと記録ログの位置Pool定義job用のプール属性注意修正する必要があるのは、DirectorのPassword ClientのPassword FileSetのIncludeの1つFile=.../......./........./......../,自分がバックアップするファイルに内容が含まれていることを説明するStorageのPassword,Device,Media Typeオプションは、それぞれbacula-sd.confプロファイルのdevice、Media Type論理セグメント名は同じです
    3)vi/application/bacula/etc/bacula-sd.confで変更する必要があるオプション:DirectorのName、Password、bacula-dir.confのdirector情報と同じDirectorのName、Password、bacula-dir.confのconsole情報は同じです
    クライアントクライアントの構成に必要なファイルは2つあります:bconsole.义齿conf 1)vi/application/bacula/etc/bconsole.confが変更する必要があるオプション:DirectorのName、Password、bconsole.confのdirector情報は同じです
    2)vi/application/bacula/etc/bacula-fd.confで変更する必要があるオプション:DirectorのName、Password、bacula-dir.confのdirector情報と同じDirectorのName、Password、bacula-dir.confのconsole情報と同じFileDaemonのNameは、baculaのすべてのファイルの構成を完了しました.
    二、配置が成功した後の使用方法;1、サーバー側でMySQLを起動する
    [root@master etc]# service mysqld start
    Starting MySQL:                                            [  OK  ]

    2、サーバー側がbaculaを起動して/アプリケーション/bacula/sbinに切り替え、操作を実行する
    [root@master etc]# cd /application/bacula/sbin/
    [root@master sbin]# ./bacula start
    Starting the Bacula Storage daemon
    Starting the Bacula File daemon
    Starting the Bacula Director daemon

    3、クライアントがbaculaを起動して/アプリケーション/bacula/sbinに切り替え、操作を実行する
    [root@master etc]# cd /application/bacula/sbin/
    [root@slave1 sbin]# ./bacula start
    Starting the Bacula File daemon

    すべて起動し、バックアップ操作を行います.
    サーバ側:
    [root@master sbin]# ./bconsole
    Connecting to Director master:9101
    1000 OK: 102 master-dir Version: 7.2.0 (14 August 2015)
    Enter a period to cancel a command.
    *label          # 
    Automatically selected Catalog: MyCatalog
    Using Catalog "MyCatalog"
    The defined Storage resources are:
         1: File1
         2: File2
    Select Storage resource (1-2): 1    # File1 
    Enter new Volume name: test_01_11_15_52 # , 01-11 15:52
    Defined Pools:
         1: Default
         2: File
         3: Scratch
    Select the Pool (1-3): 1        #  pool 
    Connecting to Storage daemon File1 at master:9103 ...
    Sending label command for Volume "test_01_11_15_52" Slot 0 ...
    3000 OK label. VolBytes=204 VolABytes=0 VolType=1 Volume="test_01_11_15_52" Device="FileChgr1-Dev1" (/tmp)
    Catalog record for Volume "test_01_11_15_52", Slot 0  successfully created.
    Requesting to mount FileChgr1-Dev1 ...
    3906 File device ""FileChgr1-Dev1" (/tmp)" is always mounted.
    *exit       # 。

    クライアント:
    [root@slave1 sbin]# ./bconsole
    Connecting to Director master:9101
    1000 OK: 102 master-dir Version: 7.2.0 (14 August 2015)
    Enter a period to cancel a command.
    *run #  Automatically selected Catalog: MyCatalog Using Catalog "MyCatalog" A job name must be specified. The defined Job resources are: 1: BackupClient1 2: BackupCatalog 3: RestoreFiles Select Job resource (1-3): 1 # BackupClient1  Run Backup job JobName: BackupClient1 Level: Incremental Client: master-fd FileSet: Full Set Pool: File (From Job resource) Storage: File1 (From Job resource) When: 2016-01-11 16:01:28 Priority: 10 OK to run? (yes/mod/no): yes #  Job queued. JobId=11 You have messages. *status     # 
    Status available for:
     1: Director
     2: Storage
     3: Client
     4: Scheduled
     5: All
    Select daemon type for status (1-5): 3      # 
    Automatically selected Client: master-fd
    Connecting to Client master-fd at slave1:9102
    
    master-fd Version: 7.2.0 (14 August 2015)  x86_64-unknown-linux-gnu redhat Daemon started 11-Jan-16 16:00. Jobs: run=1 running=0. Heap: heap=524,288 smbytes=94,985 max_bytes=167,697 bufs=65 max_bufs=98 Sizes: boffset_t=8 size_t=8 debug=0 trace=0 mode=0 bwlimit=0kB/s Running Jobs:
    Director connected at: 11-Jan-16 16:02
    No Jobs running. ====
    Terminated Jobs:
     JobId Level Files Bytes Status Finished Name ===================================================================
     4 Full 5 1.026 M OK 10-Jan-16 22:29 BackupClient1
     5 Full 0 0 OK 10-Jan-16 22:59 BackupClient1
     6 Incr 0 0 OK 10-Jan-16 22:59 BackupClient1
     7 Incr 1 0 OK 10-Jan-16 23:02 BackupClient1
     8 Diff 0 0 OK 10-Jan-16 23:04 BackupClient1
     9 6 1.026 M OK 10-Jan-16 23:07 RestoreFiles
     10 Full 0 0 OK 10-Jan-16 23:09 BackupCatalog
     11 Incr 4 0 OK 11-Jan-16 16:02 BackupClient1 ====
    *exit # 

    次に、クライアントがバックアップしたファイルを削除し、バックアップのリカバリ作業を行い、正常にリカバリできるかどうかを確認します.BackupClient 1タスクのバックアップのパスは/アプリケーション/bacula/testであり、testファイルには以下のようなファイルが含まれ、削除操作が行われます.
    [root@slave1 ~]# cd /application/bacula/sbin/
    [root@slave1 sbin]# ./bconsole
    Connecting to Director master:9101
    1000 OK: 102 master-dir Version: 7.2.0 (14 August 2015)
    Enter a period to cancel a command.
    *restore        # 
    Automatically selected Catalog: MyCatalog
    Using Catalog "MyCatalog"
    
    First you select one or more JobIds that contain files to be restored. You will be presented several methods of specifying the JobIds. Then you will be allowed to select which files from those JobIds are to be restored. To select the JobIds, you have the following choices: 1: List last 20 Jobs run 2: List Jobs where a given File is saved 3: Enter list of comma separated JobIds to select 4: Enter SQL list command 5: Select the most recent backup for a client 6: Select backup for a client before a specified time 7: Enter a list of files to restore 8: Enter a list of files to restore before a specified time 9: Find the JobIds of the most recent backup for a client 10: Find the JobIds for a backup for a client before a specified time 11: Enter a list of directories to restore for found JobIds 12: Select full restore to a specified Job date 13: Cancel Select item: (1-13): 3 # ID Enter JobId(s), comma separated, to restore: 11 You have selected the following JobId: 11 Building directory tree for JobId(s) 11 ... 3 files inserted into the tree. You are now entering file selection mode where you add (mark) and remove (unmark) files to be restored. No files are initially added, unless you used the "all" keyword on the command line. Enter "done" to leave this mode. cwd is: / $ mark * #  4 files marked. $ done Bootstrap records written to /opt/bacula/working/master-dir.restore.2.bsr Bootstrap records written to /opt/bacula/working/master-dir.restore.2.bsr The Job will require the following (*=>InChanger): Volume(s) Storage(s) SD Device(s) =========================================================================== Vol-0008 File1 FileChgr1-Dev1 Volumes marked with "*" are in the Autochanger. 4 files selected to be restored. Automatically selected Client: master-fd Using Catalog "MyCatalog" Run Restore job JobName: RestoreFiles Bootstrap: /opt/bacula/working/master-dir.restore.2.bsr Where: /tmp/bacula-restores Replace: Always FileSet: Full Set Backup Client: master-fd Restore Client: master-fd Storage: File1 When: 2016-01-11 16:48:13 Catalog: MyCatalog Priority: 10 Plugin Options: OK to run? (yes/mod/no): mod # restore  Parameters to modify: 1: Level 2: Storage 3: Job 4: FileSet 5: Restore Client 6: When 7: Priority 8: Bootstrap 9: Where 10: File Relocation 11: Replace 12: JobId 13: Plugin Options Select parameter to modify (1-13): 9 Please enter the full path prefix for restore (/ for none): / #  Run Restore job JobName: RestoreFiles Bootstrap: /opt/bacula/working/master-dir.restore.3.bsr Where: Replace: Always FileSet: Full Set Backup Client: master-fd Restore Client: master-fd Storage: File1 When: 2016-01-11 16:49:49 Catalog: MyCatalog Priority: 10 Plugin Options: OK to run? (yes/mod/no):yes #  Job queued. JobId=15 You have messages. *exit

    リカバリセクションは終了しました.元のパスの下にtestファイルがあるかどうかを確認します.次の図から、testファイルが正常にリカバリされたことがわかります.
    三、配置後の断面図はbacula起動を例に、baculaが配置されたことを証明する.図3は、サーバ側でMySQLおよびbaculaを起動し、その後、クライアントにリモートログインしてbaculaを起動することを示す.
    具体的な使用スクリーンショットは、コマンド実行部に関する文字がputty上で直接コピーされる第2の部分の使用方法を参照することができる.
    四、配置中に発生した問題.1.baculaのインストールが完了したら、baculaに対応するデータベース情報を作成するには、次の3つのコマンドを実行します.
    #./grant_mysql_privileges
    #./create_mysql_database
    #./make_mysql_tables

    しかし、最初のコマンドを実行すると、mysqlが/var/lib/mysqlに見つからないことを示す.sockファイル.
    解决方法:baculaをネット上でインストールする手順を参考に、baculaデータベースを作成するときにユーザーパスワードが空であることを要求すると、MySQLがインストールされているにもかかわらず、まだ誰もログインしたことがないのでmysql-uroot-pコマンドを実行し、パスワードを空にした後、MySQLにログインし、終了後、以上の3つの文を実行するとスムーズに通過することができます.
    2、サーバー側の3つのプロファイルを構成する場合、多くの名前とパスワードがあり、パスワードが一致しないことを保証するために、すべてのパスワードを統一した文字列に設定するのが最善の方法です.