Tape device to replicate data to a plurality of remote storage devices
Provided are a computer program product, system, and method for a tape device to replicate data to a plurality of remote storage devices. A replication request is received from the computing device to replicate data to a replication number of at least one remote storage device of the remote storage devices over a network. The data to replicate is transmitted to the replication number of at least one remote storage device. At least one device acknowledgment from the at least one remote storage device indicating complete of writing the data to replicate is received. A replication acknowledgment is transmitted to the computing device indicating that the data in the replication request has been replicated in response to receiving the at least one device acknowledgment from the replication number of the at least one remote storage device.
1 . A tape device for writing data to a tape storage media and in communication with a remote storage device and a computing device over a network, comprising:
a tape device housing separate from the remote storage device and the computing device, comprising:
a tape head to read and write to the tape storage media;
a controller to control the tape head to write data from the computing device to the tape storage media;
a replication engine to perform:
receiving, from the computing device, a replication request to replicate data to the remote storage device over the network;
transmitting the data to replicate to the remote storage device;
sending a write request to the controller to write the data to replicate to the tape storage media;
receiving a device acknowledgment from the remote storage device indicating complete of writing the data to replicate; and
transmitting a replication acknowledgment to the computing device indicating that the data in the replication request has been replicated in response to receiving the device acknowledgment from the remote storage device.
2 . The tape device of claim 1 , wherein the remote storage device comprises a remote tape device to write data to tape storage media in the remote tape device.
3 . The tape device of claim 1 , wherein the operations further comprise:
receiving an inquiry from the computing device to inquire whether the tape device can communicate with a replication number of remote storage devices to which to replicate data; and
determining whether the replication number of the remote storage devices are available; and
sending an availability acknowledgment to the computing device that the replication number of the remote storage devices are available in response to determining that the replication number of the remote storage devices are available, wherein the availability acknowledgment causes the computing device to send the replication request.
4 . The tape device of claim 1 , wherein the replication request to replicate data to the remote storage device comprises a request to replicate data to a plurality of remote tape devices, wherein the operations further comprise:
receiving a mount request from the computing device;
sending mount requests to the plurality of remote tape devices in response to the mount request from the computing device;
receiving mount completes from the plurality of remote tape devices indicating that tape storage media was mounted at the plurality of remote tape devices; and
sending a mount acknowledgment to the computing device indicating that the plurality of remote tape devices successfully mounted tape storage media, wherein the replication request is received from the computing device in response to the computing device receiving the mount acknowledgment.
5 . The tape device of claim 1 , wherein the replication request is to replicate data to a plurality of remote storage devices, wherein the operations further comprise:
receiving write completes from the plurality of remote storage devices that writing the data to replicate completed, wherein the replication acknowledgment is sent to the computing device in response to receiving the write completes from the plurality of remote storage devices, wherein the replication acknowledgment is sent in response to receiving the write completes from the plurality of remote storage devices.
6 . The tape device of claim 1 , wherein the replication request is to replicate data to a plurality of remote storage devices, wherein the operations further comprise:
receiving fail from at least one of the plurality of remote storage devices that write of the data to replicate failed;
receiving write complete from at least one of the plurality of remote storage devices that the write of the data to replicate succeeded;
sending a message to the computing device indicating that replication of the data failed in response to receiving the fail; and
receiving a continue request from the computing device to continue replication of the data to the at least one of the plurality of remote storage devices that sent the received write complete.
7 . The tape device of claim 6 , wherein the replication acknowledgment is sent in response to receiving complete of the write of the data from the at least one of the plurality of remote storage devices that sent the received write complete.
8 . The tape device of claim 1 , wherein the tape device and the remote storage device each are a member of a set of tape devices consisting of a stand alone tape device and a tape library having a plurality of tape devices in which to store data.
9 . A computer program product for replicating data, wherein the computer program product comprises a computer readable storage medium having program instructions executable by a processor to cause operations, the operations comprising:
receiving, from a computing device, a replication request to replicate data to a remote storage device over a network, wherein the computer readable storage medium is included in a tape device comprising a tape device housing separate from the remote storage device and the computing device, wherein the tape device housing includes a tape head to read and write to a tape storage media, a controller, and the computer readable storage medium;
transmitting the data to replicate to the remote storage device;
sending a write request to the controller in the tape device to write the data from the computing device to replicate to the tape storage media, wherein the controller controls the tape head to write the data to the tape storage media;
receiving a device acknowledgment from the remote storage device indicating complete of writing the data to replicate; and
transmitting a replication acknowledgment to the computing device indicating that the data in the replication request has been replicated in response to receiving the device acknowledgment from the remote storage device.
10 . The computer program product of claim 9 , wherein the operations further comprise:
receiving an inquiry from the computing device to inquire whether the tape device can communicate with a replication number of remote storage devices to which to replicate data; and
determining whether the replication number of the remote storage devices are available; and
sending an availability acknowledgment to the computing device that the replication number of the remote storage devices are available in response to determining that the replication number of the remote storage devices are available, wherein the availability acknowledgment causes the computing device to send the replication request.
11 . The computer program product of claim 9 , wherein the replication request to replicate data to the remote storage device comprises a request to replicate data to a plurality of remote tape devices, wherein the operations further comprise:
receiving a mount request from the computing device;
sending mount requests to the plurality of remote tape devices in response to the mount request from the computing device;
receiving mount completes from the plurality of remote tape devices indicating that tape storage media was mounted at the plurality of remote tape devices; and
sending a mount acknowledgment to the computing device indicating that the plurality of remote tape devices successfully mounted tape storage media, wherein the replication request is received from the computing device in response to the computing device receiving the mount acknowledgment.
12 . The computer program product of claim 9 , wherein the replication request is to replicate data to a plurality of remote storage devices, wherein the operations further comprise:
receiving write completes from the plurality of remote storage devices that writing the data to replicate completed, wherein the replication acknowledgment is sent to the computing device in response to receiving the write completes from the plurality of remote storage devices, wherein the replication acknowledgment is sent in response to receiving the write completes from the plurality of remote storage devices.
13 . The computer program product of claim 9 , wherein the replication request is to replicate data to a plurality of remote storage devices, wherein the operations further comprise:
receiving fail from at least one of the plurality of remote storage devices that write of the data to replicate failed;
receiving write complete from at least one of the plurality of remote storage devices that the write of the data to replicate succeeded;
sending a message to the computing device indicating that replication of the data failed in response to receiving the fail; and
receiving a continue request from the computing device to continue replication of the data to the at least one of the plurality of remote storage devices that sent the received write complete.
14 . A method for replicating data implemented in a tape device writing data to a tape storage media, comprising:
receiving from a computing device, a replication request to replicate data to a remote storage device, wherein the tape device comprises a tape device housing separate from the remote storage device and the computing device, wherein the tape device housing includes a tape head to read and write to the tape storage media and a controller;
transmitting the data to replicate to the remote storage device;
sending a write request to the controller to write the data to replicate to the tape storage media, wherein the controller controls the tape head to write the data to the tape storage media;
receiving a device acknowledgment from the remote storage device indicating complete of writing the data to replicate; and
transmitting a replication acknowledgment to the computing device indicating that the data in the replication request has been replicated in response to the receiving the device acknowledgment from the remote storage device.
15 . The method of claim 14 , comprising:
receiving an inquiry from the computing device to inquire whether the tape device can communicate with a replication number of remote storage devices to which to replicate data; and
determining whether the replication number of the remote storage devices are available; and
sending an availability acknowledgment to the computing device that the replication number of the remote storage devices are available in response to determining that the replication number of the remote storage devices are available, wherein the availability acknowledgment causes the computing device to send the replication request.
16 . The method of claim 14 , wherein the replication request to replicate data to the remote storage device comprises a request to replicate data to a plurality of remote tape devices, further comprising:
receiving a mount request from the computing device;
sending mount requests to the plurality of remote tape devices in response to the mount request from the computing device;
receiving mount completes from the plurality of remote tape devices indicating that tape storage media was mounted at the plurality of remote tape devices; and
sending a mount acknowledgment to the computing device indicating that the plurality of remote tape devices successfully mounted tape storage media, wherein the replication request is received from the computing device in response to the computing device receiving the mount acknowledgment.
17 . The method of claim 14 , wherein the replication request is to replicate data to a plurality of remote storage devices, further comprising:
receiving fail from at least one of the plurality of remote storage devices that write of the data to replicate failed;
receiving write complete from at least one of the plurality of remote storage devices that the write of the data to replicate succeeded;
sending a message to the computing device indicating that replication of the data failed in response to receiving the fail; and
receiving a continue request from the computing device to continue replication of the data to the at least one of the plurality of remote storage devices that sent the received write complete.