Thank you for your response! With the right magic word "geo-replication", I was able to find a howto that appears to be what I need to get started.
As to the documentation, some more use-case docs would be helpful. I also find myself struggling to understand it at a level to feel comfortable admining it. For example, I followed a howto to get my current gluster stuff running, but just barely, and I still don't truely understand the components or how to make them work. My system is 3 node ovirt cluster with gluster bricks located on the same nodes (and node 3 is the arbitrar apparently). I was trying to set up gluster to ride on its own network instead of sharing the ovirt main network. Unfortunately, I never could get that to work, and now that it is in production, I don't have the slightest on where to look to cause gluster to use a different network interface already configured and up on the servers. I'm not even sure I know what tools to use at the command line level to ensure gluster is healthy, and should something happen, I'd probably have to post panicked e-mails here.... I also am not sure I understand gluster well enough to architect a system under new assumptions. My current configuration was always intended to be a "phase 1" to get my cluster online and thus start and grow my business. However, my current storage is very limited. So, what should my target be for a "better" cluster? Single server, or dual? If I grow to the point where I have multiple clusters at different offices (connected by fiber I own), how should I architect the storage then such that VMs can be moved between clusters, and my clusters 'back each other up"? I could use geo-replication, but is that the best/proper way? If I build dedicated servers, do I need more than one gluster storage server per location? This is a lot I just threw out there...These questions have all passed through my head, but I haven't found enough details to answer them myself. I'm slowly growing in a few areas; this geo-replication configuration will be my next growth. I would like to move my gluster to another network, and I think I found some of the files where relevant configs are stored, but not enough detail to feel comfortable without breaking what I have. I realized that most systems I've set up, the docs are a bit less "recipie"-ish and have more explanation interspersed with the commands, and intermediate checks (with explanations) to check your work as you go. These are extremely valuable to me. For example, if my initial configuration instructions had a paragraph about the network architecture, different settings (eg, gluster-gluster node sync vs management interface that ovirt uses vs data access for clients), and then walks through configuring each one, then showed the command line instructions to check that was working correctly before moving on to the next stage, that would help me understand what I've done, and be more likely to maintain it. It also makes other docs more understandable given a deeper knowledge of what I've already done. Its possible that the instructions I used may have been poorer than typical for the project, but my googling didn't turn up something that allowed me to figure it out before I posted my original e-mail. Thanks for your help! --Jim On Tue, Apr 25, 2017 at 10:02 AM, Sahina Bose <sab...@redhat.com> wrote: > > > On Tue, Apr 25, 2017 at 9:18 PM, Jim Kusznir <j...@palousetech.com> wrote: > >> So with arbiter, I actually only have two copies of data...Does arbiter >> have at least checksum or something to detect corruption of a copy? (like >> old RAID-4 disk configuration)? >> > > Yes, the arbiter brick stores metadata information about the files to > decide the good copy of data stored on the replicas in case of conflict. > > >> >> Ok...Related question: Is there a way to set up an offsite gluster >> storage server to mirror the contents of my main server? As "fire" >> insurance basically? (eventually, I'd like to have an "offsite" DR >> cluster, but I don't have the resources or scale yet for that). >> >> What I'd like to do is place a basic storage server somewhere else and >> have it sync any gluster data changes on a regular basis, and be usable to >> repopulate storage should I loose all of my current cluster (eg, a building >> fire or theft). >> > > Yes, the geo-replication feature can help with that. There's a remote data > sync feature introduced for gluster storage domains, that helps with this. > You can set this up such that data from your storage domain is regularly > synced to a remote gluster volume, while ensuring data consistency. The > remote gluster volume does not have to a replica 3. > > >> >> I find gluster has amazing power from what I hear, but I have a hard time >> finding documentation at "the right level" to be useful. I've found some >> very basic introductory guide, then some very advanced guides that require >> extensive knowledge of gluster already. Something in the middle to explain >> some of these questions (like arbitrar and migration strategies, >> geo-replication, etc; and how to deploy them) are absent (or at least, i >> haven't found them yet). I still feel like I'm using something I don't >> understand, and the only avenue I have to learn more is to ask questions >> here, as the docs aren't at an accessible level. >> > > Thanks for the feedback. Are you looking at documentation on a use-case > basis? > > >> >> Thanks! >> --Jim >> >> On Mon, Apr 3, 2017 at 10:34 PM, Sahina Bose <sab...@redhat.com> wrote: >> >>> >>> >>> On Sat, Apr 1, 2017 at 10:32 PM, Jim Kusznir <j...@palousetech.com> >>> wrote: >>> >>>> Thank you! >>>> >>>> Here's the output of gluster volume info: >>>> [root@ovirt1 ~]# gluster volume info >>>> >>>> Volume Name: data >>>> Type: Replicate >>>> Volume ID: e670c488-ac16-4dd1-8bd3-e43b2e42cc59 >>>> Status: Started >>>> Number of Bricks: 1 x (2 + 1) = 3 >>>> Transport-type: tcp >>>> Bricks: >>>> Brick1: ovirt1.nwfiber.com:/gluster/brick2/data >>>> Brick2: ovirt2.nwfiber.com:/gluster/brick2/data >>>> Brick3: ovirt3.nwfiber.com:/gluster/brick2/data (arbiter) >>>> Options Reconfigured: >>>> performance.strict-o-direct: on >>>> nfs.disable: on >>>> user.cifs: off >>>> network.ping-timeout: 30 >>>> cluster.shd-max-threads: 6 >>>> cluster.shd-wait-qlength: 10000 >>>> cluster.locking-scheme: granular >>>> cluster.data-self-heal-algorithm: full >>>> performance.low-prio-threads: 32 >>>> features.shard-block-size: 512MB >>>> features.shard: on >>>> storage.owner-gid: 36 >>>> storage.owner-uid: 36 >>>> cluster.server-quorum-type: server >>>> cluster.quorum-type: auto >>>> network.remote-dio: enable >>>> cluster.eager-lock: enable >>>> performance.stat-prefetch: off >>>> performance.io-cache: off >>>> performance.read-ahead: off >>>> performance.quick-read: off >>>> performance.readdir-ahead: on >>>> server.allow-insecure: on >>>> >>>> Volume Name: engine >>>> Type: Replicate >>>> Volume ID: 87ad86b9-d88b-457e-ba21-5d3173c612de >>>> Status: Started >>>> Number of Bricks: 1 x (2 + 1) = 3 >>>> Transport-type: tcp >>>> Bricks: >>>> Brick1: ovirt1.nwfiber.com:/gluster/brick1/engine >>>> Brick2: ovirt2.nwfiber.com:/gluster/brick1/engine >>>> Brick3: ovirt3.nwfiber.com:/gluster/brick1/engine (arbiter) >>>> Options Reconfigured: >>>> performance.readdir-ahead: on >>>> performance.quick-read: off >>>> performance.read-ahead: off >>>> performance.io-cache: off >>>> performance.stat-prefetch: off >>>> cluster.eager-lock: enable >>>> network.remote-dio: off >>>> cluster.quorum-type: auto >>>> cluster.server-quorum-type: server >>>> storage.owner-uid: 36 >>>> storage.owner-gid: 36 >>>> features.shard: on >>>> features.shard-block-size: 512MB >>>> performance.low-prio-threads: 32 >>>> cluster.data-self-heal-algorithm: full >>>> cluster.locking-scheme: granular >>>> cluster.shd-wait-qlength: 10000 >>>> cluster.shd-max-threads: 6 >>>> network.ping-timeout: 30 >>>> user.cifs: off >>>> nfs.disable: on >>>> performance.strict-o-direct: on >>>> >>>> Volume Name: export >>>> Type: Replicate >>>> Volume ID: 04ee58c7-2ba1-454f-be99-26ac75a352b4 >>>> Status: Stopped >>>> Number of Bricks: 1 x (2 + 1) = 3 >>>> Transport-type: tcp >>>> Bricks: >>>> Brick1: ovirt1.nwfiber.com:/gluster/brick3/export >>>> Brick2: ovirt2.nwfiber.com:/gluster/brick3/export >>>> Brick3: ovirt3.nwfiber.com:/gluster/brick3/export (arbiter) >>>> Options Reconfigured: >>>> performance.readdir-ahead: on >>>> performance.quick-read: off >>>> performance.read-ahead: off >>>> performance.io-cache: off >>>> performance.stat-prefetch: off >>>> cluster.eager-lock: enable >>>> network.remote-dio: off >>>> cluster.quorum-type: auto >>>> cluster.server-quorum-type: server >>>> storage.owner-uid: 36 >>>> storage.owner-gid: 36 >>>> features.shard: on >>>> features.shard-block-size: 512MB >>>> performance.low-prio-threads: 32 >>>> cluster.data-self-heal-algorithm: full >>>> cluster.locking-scheme: granular >>>> cluster.shd-wait-qlength: 10000 >>>> cluster.shd-max-threads: 6 >>>> network.ping-timeout: 30 >>>> user.cifs: off >>>> nfs.disable: on >>>> performance.strict-o-direct: on >>>> >>>> Volume Name: iso >>>> Type: Replicate >>>> Volume ID: b1ba15f5-0f0f-4411-89d0-595179f02b92 >>>> Status: Started >>>> Number of Bricks: 1 x (2 + 1) = 3 >>>> Transport-type: tcp >>>> Bricks: >>>> Brick1: ovirt1.nwfiber.com:/gluster/brick4/iso >>>> Brick2: ovirt2.nwfiber.com:/gluster/brick4/iso >>>> Brick3: ovirt3.nwfiber.com:/gluster/brick4/iso (arbiter) >>>> Options Reconfigured: >>>> performance.readdir-ahead: on >>>> performance.quick-read: off >>>> performance.read-ahead: off >>>> performance.io-cache: off >>>> performance.stat-prefetch: off >>>> cluster.eager-lock: enable >>>> network.remote-dio: off >>>> cluster.quorum-type: auto >>>> cluster.server-quorum-type: server >>>> storage.owner-uid: 36 >>>> storage.owner-gid: 36 >>>> features.shard: on >>>> features.shard-block-size: 512MB >>>> performance.low-prio-threads: 32 >>>> cluster.data-self-heal-algorithm: full >>>> cluster.locking-scheme: granular >>>> cluster.shd-wait-qlength: 10000 >>>> cluster.shd-max-threads: 6 >>>> network.ping-timeout: 30 >>>> user.cifs: off >>>> nfs.disable: on >>>> performance.strict-o-direct: on >>>> >>>> >>>> The node marked as (arbiter) on all of the bricks is the node that is >>>> not using any of its disk space. >>>> >>> >>> This is by design - the arbiter brick only stores metadata and hence >>> saves on storage. >>> >>> >>>> >>>> The engine domain is the volume dedicated for storing the hosted >>>> engine. Here's some LVM info: >>>> >>>> --- Logical volume --- >>>> LV Path /dev/gluster/engine >>>> LV Name engine >>>> VG Name gluster >>>> LV UUID 4gZ1TF-a1PX-i1Qx-o4Ix-MjEf-0HD8-esm3wg >>>> LV Write Access read/write >>>> LV Creation host, time ovirt1.nwfiber.com, 2016-12-31 14:40:00 -0800 >>>> LV Status available >>>> # open 1 >>>> LV Size 25.00 GiB >>>> Current LE 6400 >>>> Segments 1 >>>> Allocation inherit >>>> Read ahead sectors auto >>>> - currently set to 256 >>>> Block device 253:2 >>>> >>>> --- Logical volume --- >>>> LV Name lvthinpool >>>> VG Name gluster >>>> LV UUID aaNtso-fN1T-ZAkY-kUF2-dlxf-0ap2-JAwSid >>>> LV Write Access read/write >>>> LV Creation host, time ovirt1.nwfiber.com, 2016-12-31 14:40:09 -0800 >>>> LV Pool metadata lvthinpool_tmeta >>>> LV Pool data lvthinpool_tdata >>>> LV Status available >>>> # open 4 >>>> LV Size 150.00 GiB >>>> Allocated pool data 65.02% >>>> Allocated metadata 14.92% >>>> Current LE 38400 >>>> Segments 1 >>>> Allocation inherit >>>> Read ahead sectors auto >>>> - currently set to 256 >>>> Block device 253:5 >>>> >>>> --- Logical volume --- >>>> LV Path /dev/gluster/data >>>> LV Name data >>>> VG Name gluster >>>> LV UUID NBxLOJ-vp48-GM4I-D9ON-4OcB-hZrh-MrDacn >>>> LV Write Access read/write >>>> LV Creation host, time ovirt1.nwfiber.com, 2016-12-31 14:40:11 -0800 >>>> LV Pool name lvthinpool >>>> LV Status available >>>> # open 1 >>>> LV Size 100.00 GiB >>>> Mapped size 90.28% >>>> Current LE 25600 >>>> Segments 1 >>>> Allocation inherit >>>> Read ahead sectors auto >>>> - currently set to 256 >>>> Block device 253:7 >>>> >>>> --- Logical volume --- >>>> LV Path /dev/gluster/export >>>> LV Name export >>>> VG Name gluster >>>> LV UUID bih4nU-1QfI-tE12-ZLp0-fSR5-dlKt-YHkhx8 >>>> LV Write Access read/write >>>> LV Creation host, time ovirt1.nwfiber.com, 2016-12-31 14:40:20 -0800 >>>> LV Pool name lvthinpool >>>> LV Status available >>>> # open 1 >>>> LV Size 25.00 GiB >>>> Mapped size 0.12% >>>> Current LE 6400 >>>> Segments 1 >>>> Allocation inherit >>>> Read ahead sectors auto >>>> - currently set to 256 >>>> Block device 253:8 >>>> >>>> --- Logical volume --- >>>> LV Path /dev/gluster/iso >>>> LV Name iso >>>> VG Name gluster >>>> LV UUID l8l1JU-ViD3-IFiZ-TucN-tGPE-Toqc-Q3R6uX >>>> LV Write Access read/write >>>> LV Creation host, time ovirt1.nwfiber.com, 2016-12-31 14:40:29 -0800 >>>> LV Pool name lvthinpool >>>> LV Status available >>>> # open 1 >>>> LV Size 25.00 GiB >>>> Mapped size 28.86% >>>> Current LE 6400 >>>> Segments 1 >>>> Allocation inherit >>>> Read ahead sectors auto >>>> - currently set to 256 >>>> Block device 253:9 >>>> >>>> --- Logical volume --- >>>> LV Path /dev/centos_ovirt/swap >>>> LV Name swap >>>> VG Name centos_ovirt >>>> LV UUID PcVQ11-hQ9U-9KZT-QPuM-HwT6-8o49-2hzNkQ >>>> LV Write Access read/write >>>> LV Creation host, time localhost, 2016-12-31 13:56:36 -0800 >>>> LV Status available >>>> # open 2 >>>> LV Size 16.00 GiB >>>> Current LE 4096 >>>> Segments 1 >>>> Allocation inherit >>>> Read ahead sectors auto >>>> - currently set to 256 >>>> Block device 253:1 >>>> >>>> --- Logical volume --- >>>> LV Path /dev/centos_ovirt/root >>>> LV Name root >>>> VG Name centos_ovirt >>>> LV UUID g2h2fn-sF0r-Peos-hAE1-WEo9-WENO-MlO3ly >>>> LV Write Access read/write >>>> LV Creation host, time localhost, 2016-12-31 13:56:36 -0800 >>>> LV Status available >>>> # open 1 >>>> LV Size 20.00 GiB >>>> Current LE 5120 >>>> Segments 1 >>>> Allocation inherit >>>> Read ahead sectors auto >>>> - currently set to 256 >>>> Block device 253:0 >>>> >>>> ------------ >>>> >>>> I don't use the export gluster volume, and I've never used >>>> lvthinpool-type allocations before, so I'm not sure if there's anything >>>> special there. >>>> >>>> I followed the setup instructions from an ovirt contributed >>>> documentation that I can't find now that talked about how to install ovirt >>>> with gluster on a 3-node cluster. >>>> >>>> Thank you for your assistance! >>>> --Jim >>>> >>>> On Thu, Mar 30, 2017 at 1:27 AM, Sahina Bose <sab...@redhat.com> wrote: >>>> >>>>> >>>>> >>>>> On Thu, Mar 30, 2017 at 1:23 PM, Liron Aravot <lara...@redhat.com> >>>>> wrote: >>>>> >>>>>> Hi Jim, please see inline >>>>>> >>>>>> On Thu, Mar 30, 2017 at 4:08 AM, Jim Kusznir <j...@palousetech.com> >>>>>> wrote: >>>>>> >>>>>>> hello: >>>>>>> >>>>>>> I've been running my ovirt Version 4.0.5.5-1.el7.centos cluster for >>>>>>> a while now, and am now revisiting some aspects of it for ensuring that >>>>>>> I >>>>>>> have good reliability. >>>>>>> >>>>>>> My cluster is a 3 node cluster, with gluster nodes running on each >>>>>>> node. After running my cluster a bit, I'm realizing I didn't do a very >>>>>>> optimal job of allocating the space on my disk to the different gluster >>>>>>> mount points. Fortunately, they were created with LVM, so I'm hoping >>>>>>> that >>>>>>> I can resize them without much trouble. >>>>>>> >>>>>>> I have a domain for iso, domain for export, and domain for storage, >>>>>>> all thin provisioned; then a domain for the engine, not thin >>>>>>> provisioned. >>>>>>> I'd like to expand the storage domain, and possibly shrink the engine >>>>>>> domain and make that space also available to the main storage domain. >>>>>>> Is >>>>>>> it as simple as expanding the LVM partition, or are there more steps >>>>>>> involved? Do I need to take the node offline? >>>>>>> >>>>>> >>>>>> I didn't understand completely that part - what is the difference >>>>>> between the domain for storage and the domain for engine you mentioned? >>>>>> >>>>> >>>>> I think the domain for engine is the one storing Hosted Engine data. >>>>> You should be able to expand your underlying LVM partition without >>>>> having to take the node offline >>>>> >>>>> >>>>>> >>>>>>> second, I've noticed that the first two nodes seem to have a full >>>>>>> copy of the data (the disks are in use), but the 3rd node appears to >>>>>>> not be >>>>>>> using any of its storage space...It is participating in the gluster >>>>>>> cluster, though. >>>>>>> >>>>>> >>>>> Is the volume created as replica 3? If so, fully copy of the data >>>>> should be present on all 3 nodes. Please provide the output of "gluster >>>>> volume info" >>>>> >>>>> >>>>>>> Third, currently gluster shares the same network as the VM >>>>>>> networks. I'd like to put it on its own network. I'm not sure how to >>>>>>> do >>>>>>> this, as when I tried to do it at install time, I never got the cluster >>>>>>> to >>>>>>> come online; I had to make them share the same network to make that >>>>>>> work. >>>>>>> >>>>>> >>>>> While creating the bricks the network intended for gluster should have >>>>> been used to identify the brick in hostname:brick-directory. Changing this >>>>> at a later point is a bit more involved. Please check online or on >>>>> gluster-users on changing IP address associated with brick. >>>>> >>>>> >>>>>> >>>>>> I'm adding Sahina who may shed some light on the gluster question, >>>>>> I'd try on the gluster mailing list as well. >>>>>> >>>>>>> >>>>>>> >>>>>>> Ovirt questions: >>>>>>> I've noticed that recently, I don't appear to be getting software >>>>>>> updates anymore. I used to get update available notifications on my >>>>>>> nodes >>>>>>> every few days; I haven't seen one for a couple weeks now. is something >>>>>>> wrong? >>>>>>> >>>>>>> I have a windows 10 x64 VM. I get a warning that my VM type does >>>>>>> not match the installed OS. All works fine, but I've quadrouple-checked >>>>>>> that it does match. Is this a known bug? >>>>>>> >>>>>> >>>>>> Arik, any info on that? >>>>>> >>>>>>> >>>>>>> I have a UPS that all three nodes and the networking are on. It is >>>>>>> a USB UPS. How should I best integrate monitoring in? I could put a >>>>>>> raspberry pi up and then run NUT or similar on it, but is there a >>>>>>> "better" >>>>>>> way with oVirt? >>>>>>> >>>>>>> Thanks! >>>>>>> --Jim >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Users mailing list >>>>>>> Users@ovirt.org >>>>>>> http://lists.ovirt.org/mailman/listinfo/users >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users