Backup
dd 無法寫入磁帶機
我正在嘗試將我們的線上備份轉儲到磁帶;出於顯而易見的原因,我想加密磁帶上的數據,所以要寫入磁帶,我需要將所有內容壓縮,將其傳輸到 openssl 以對其進行加密,然後將其寫入磁帶:
tar c /etc | openssl aes-128-cbc -salt -pass "pass:Test123" | dd of=/dev/nst0
但是,似乎 dd 不喜歡這樣。從 tar 直接寫入磁帶可以正常工作:
svr-bup1 # tar cf /dev/nst0 /etc tar: Removing leading `/' from member names svr-bup1 #
將 dd 添加到鏈中併中斷:
svr-bup1 # tar c /etc | dd of=/dev/nst0 tar: /dev/nst0: Cannot open: Device or resource busy tar: Error is not recoverable: exiting now 0+0 records in 0+0 records out 0 bytes (0 B) copied, 9.6274e-05 s, 0.0 kB/s
無論是否使用 openssl 命令,都會發生同樣的情況;我在上面省略了它以簡化測試。
mt 命令工作正常(設置了環境變數 TAPE):
svr-bup1 # mt status SCSI 2 tape drive: File number=6, block number=0, partition=0. Tape block size 0 bytes. Density code 0x46 (LTO-4). Soft error count since last status=0 General status bits on (81010000): EOF ONLINE IM_REP_EN svr-bup1 # mt rewi svr-bup1 #
硬體是 HP 1720 LTO4 SAS 驅動器,在 CentOS 6 上使用 mpt2sas 驅動程序。
預設情況下,您的版本
tar
似乎正在嘗試寫入磁帶設備,而不是標準輸出。它似乎是 GNUtar
。自動檢測磁帶驅動器是 GNU tar 1.11.5 版本之前的預設設置,我懷疑你有這麼舊的版本。預設情況下,其他 UNIX 系統上的 tar 版本也可能會嘗試寫入磁帶設備。
f
通過指定ile強制 tar 寫入標準輸出-
:tar cf - /etc | dd of=/dev/nst0