6.3 CHANGER (NxChanger)
NxChanger is another system service, loaded at boot time. It is responsible only for the maintenance and use of any connected tape robotic system. It reads the nxn_changer_request table for any requests to manipulate tape media.
Its logic is also quite complicated as it needs to be ascertained which volume might be loaded into which drive. Since LTO media can only be read / written in certain versions of drive this logic needs to be built into the code.
NxChanger will also at startup ‘Scan’ for any changes made on the system, such as loading new media, or removing other tapes from the robotics. It also checks on such things as drive locks.
The process once again would benefit from a message queue since it too ‘polls’ the database for any new requests.
NxChanger is fairly complex as it ‘Threads’ load requests to increase system performance, rather than executing loads sequentially. This greatly speeds up tape movements but makes for much more complex code which requires locking between threads.
NxChanger will only load media into corresponding drives within the robotics the volume resides. There is also a mechanism to use a standalone or desktop drive in some cases.
NxChanger Start and Stop:
- systemctl stop NxChanger
- systemctl stop NxChanger