lvmsync | Synchronise LVM LVs across a network

 by   mpalmer Ruby Version: v3.3.2 License: GPL-3.0

kandi X-RAY | lvmsync Summary

kandi X-RAY | lvmsync Summary

lvmsync is a Ruby library. lvmsync has no bugs, it has no vulnerabilities, it has a Strong Copyleft License and it has low support. You can download it from GitHub.

Mostly, transferring entire block devices from one machine to another, with minimal downtime. Until now, you had to shutdown your service/VM/whatever, do a big cross-network dd (using netcat or something), and wait while all that transferred.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              lvmsync has a low active ecosystem.
              It has 336 star(s) with 51 fork(s). There are 38 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 12 open issues and 29 have been closed. On average issues are closed in 124 days. There are 2 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of lvmsync is v3.3.2

            kandi-Quality Quality

              lvmsync has 0 bugs and 0 code smells.

            kandi-Security Security

              lvmsync has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              lvmsync code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              lvmsync is licensed under the GPL-3.0 License. This license is Strong Copyleft.
              Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.

            kandi-Reuse Reuse

              lvmsync releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.
              lvmsync saves you 215 person hours of effort in developing the same functionality from scratch.
              It has 526 lines of code, 59 functions and 11 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of lvmsync
            Get all kandi verified functions for this library.

            lvmsync Key Features

            No Key Features are available at this moment for lvmsync.

            lvmsync Examples and Code Snippets

            No Code Snippets are available at this moment for lvmsync.

            Community Discussions

            No Community Discussions are available at this moment for lvmsync.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install lvmsync

            To run lvmsync, you'll need to have a working installation of Ruby 1.8 (or later) on both the machine you're transferring from, and the machine you're transferring to. On the source, you'll need vgcfgbackup (which is part of the core LVM2 toolset), and if you want to deal with thin snapshots, you'll also need thin_dump (which is part of the "thin provisioning tools" which are highly recommended for anyone working with thin-provisioned LVs). For transferring dumps between machines, you'll need SSH installed and working between the two machines. Installing lvmsync itself is easiest using Rubygems: gem install lvmsync. This will install all the dependencies and (presumably) put the lvmsync command itself in root's PATH. If for some reason you want to install it all by hand, you'll need to copy the contents of lib/ into a directory in your Ruby library path, copy bin/lvmsync to somewhere on your PATH, and install the treetop and git-version-bump gems.
            If you need to transfer an LV between different VGs on the same machine, then running everything through SSH is just an unnecessary overhead. If you instead just run lvmsync without the <destserver>: in the destination specification, everything runs locally, like this:. All other parts of the process (creating the snapshot, doing the initial data move with dd, and so on) are unchanged. As an aside, if you're trying to move LVs between PVs in the same VG, then you don't need lvmsync, you need pvmove.

            Support

            In addition to being able to efficiently transfer the changes to an LV across a network, lvmsync now supports a simple form of point-in-time recovery, which I've called 'snapback'. The way this works is startlingly simple: as lvmsync writes the changed blocks out to the destination block device, it reads the data that is being overwritten, and stores it to a file (specified with the --snapback option). The format of this file is the same as the wire protocol that lvmsync uses to transfer changed blocks over the network. This means that, in the event that you need to rollback a block device to an earlier state, you can do so by simply applying the saved snapback files created previously, until you get to the desired state.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries