zoukankan      html  css  js  c++  java
  • [zz]sheep dog的readme

    sheepdog ppt 中文ppt
    http://www.slideshare.net/multics/sheepdog
     
    Sheepdog: Distributed Storage System for KVM
    ============================================
    
    Overview
    --------
    Sheepdog is a distributed storage system for KVM/QEMU. It provides
    highly available block level storage volumes to virtual machines. 
    Sheepdog supports advanced volume management features such as snapshot,
    cloning, and thin provisioning. The architecture of Sheepdog is fully
    symmetric; there is no central node such as a meta-data server.
    Sheepdog is an Open Source software, released under the terms of the
    GNU General Public License version 2. 
    
    For the latest information about Sheepdog, please visit our website at:
    
       http://www.osrg.net/sheepdog/
    
    Requirements
    ------------
    * Three or more x86-64 machines
    * Corosync cluster engine
    
    Install
    -------
    Please read the INSTALL file distributed with this package for detailed
    instructions on installing or compiling from source.
    
    Usage
    -----
    * Configure corosync.  Reference the corosync(8) and corosync.conf(5) man page
      for further details.
    
    * Setup Sheepdog
       1. Launch sheepdog on each machines of the cluster.
    
          $ sheep /store_dir
    
          Notes:
            /store_dir is a directory to store objects. The directory must
            be on the filesystem with an xattr support. In case of ext3, you
            need to add 'user_xattr' to the mount options.
    
            $ sudo mount -o remount,user_xattr /store_device
    
       2. Make fs
    
          $ collie cluster format --copies=3
    
          --copies specifies the number of default data redundancy. In this case,
          the replicated data is stored on three machines.
    
       3. Check cluster state
    
          Following list shows that Sheepdog is running on 32 nodes.
    
          $ collie node list
            Idx	Node id (FNV-1a) - Host:Port
          ------------------------------------------------
            0	0308164db75cff7e - 10.68.13.15:7000
          * 1	03104d8b4315c8e4 - 10.68.13.1:7000
            2	0ab18c565bc14aea - 10.68.13.3:7000
            3	0c0d27f0ac395f5d - 10.68.13.16:7000
            4	127ee4802991f308 - 10.68.13.13:7000
            5	135ff2beab2a9809 - 10.68.14.5:7000
            6	17bd6240eab65870 - 10.68.14.4:7000
            7	1cf35757cbf47d7b - 10.68.13.10:7000
            8	1df9580b8960a992 - 10.68.13.11:7000
            9	29307d3fa5a04f78 - 10.68.14.12:7000
            10	29dcb3474e31d4f3 - 10.68.14.15:7000
            11	29e089c98dd2a144 - 10.68.14.16:7000
            12	2a118b7e2738f479 - 10.68.13.4:7000
            13	3d6aea26ba79d75f - 10.68.13.6:7000
            14	42f9444ead801767 - 10.68.14.11:7000
            15	562c6f38283d09fe - 10.68.14.2:7000
            16	5dd5e540cca1556a - 10.68.14.6:7000
            17	6c12a5d10f10e291 - 10.68.14.13:7000
            18	6dae1d955ca72d96 - 10.68.13.7:7000
            19	711db0f5fa40b412 - 10.68.14.14:7000
            20	7c6b95212ee7c085 - 10.68.14.9:7000
            21	7d010c31bf11df73 - 10.68.13.2:7000
            22	82c43e908b1f3f01 - 10.68.13.12:7000
            23	931d2de0aaf61cf5 - 10.68.13.8:7000
            24	961d9d391e6021e7 - 10.68.13.14:7000
            25	9a3ef6fa1081026c - 10.68.13.9:7000
            26	b0b3d300fed8bc26 - 10.68.14.10:7000
            27	b0f08fb98c8f5edc - 10.68.14.8:7000
            28	b9cc316dc5aba880 - 10.68.13.5:7000
            29	d9eda1ec29c2eeeb - 10.68.14.7:7000
            30	e53cebb2617c86fd - 10.68.14.1:7000
            31	ea46913c4999ccdf - 10.68.14.3:7000
    
    * Create a virtual machine image
       1. Create a 256 GB virtual machine image of Alice.
    
          $ qemu-img create sheepdog:Alice 256G
    
       2. You can also convert from existing KVM images to Sheepdog ones.
    
          $ qemu-img convert ~/amd64.raw sheepdog:Bob
    
       3. See Sheepdog images by the following command.
    
          $ collie vdi list
            name        id    size    used  shared    creation time  object id
          --------------------------------------------------------------------
            Bob          0  2.0 GB  1.6 GB  0.0 MB 2010-03-23 16:16      80000
            Alice        0  256 GB  0.0 MB  0.0 MB 2010-03-23 16:16      40000
    
    * Boot the virtual machine
       1. Boot the virtual machine.
    
          $ qemu-system-x86_64 -hda sheepdog:Alice
    
       2. Following command checks used images.
    
          $ collie vm list
          Name            |Vdi size |Allocated| Shared  | Status
          ----------------+---------+---------+---------+------------
          Bob             |   2.0 GB|   1.6 GB|   0.0 MB| running on xx.xx.xx.xx
          Alice           |   256 GB|   0.0 MB|   0.0 MB| not running
    
    * Snapshot
       1. Snapshot
    
          $ qemu-img snapshot -c name sheepdog:Alice
    
          -c flag is meaningless currently
    
       2. After getting snapshot, a new virtual machine images are added as a not-
          current image.
    
          $ collie vdi list
            name        id    size    used  shared    creation time  object id
          --------------------------------------------------------------------
            Bob          0  2.0 GB  1.6 GB  0.0 MB 2010-03-23 16:16      80000
            Alice        0  256 GB  0.0 MB  0.0 MB 2010-03-23 16:21      c0000
          s Alice        1  256 GB  0.0 MB  0.0 MB 2010-03-23 16:16      40000
    
       3. You can boot from the snapshot image by spcifing tag id
    
          $ qemu-system-x86_64 -hda sheepdog:Alice:1
    
    * Cloning from the snapshot
       1. Create a Charlie image as a clone of Alice's image.
    
          $ qemu-img create -b sheepdog:Alice:1 sheepdog:Charlie
    
       2. Charlie's image is added to the virtual machine list.
    
          $ collie vdi list
            name        id    size    used  shared    creation time  object id
          --------------------------------------------------------------------
            Bob          0  2.0 GB  1.6 GB  0.0 MB 2010-03-23 16:16      80000
            Alice        0  256 GB  0.0 MB  0.0 MB 2010-03-23 16:21      c0000
          s Alice        1  256 GB  0.0 MB  0.0 MB 2010-03-23 16:16      40000
            Charlie      0  256 GB  0.0 MB  0.0 MB 2010-03-23 16:23     100000
    
    Test Environment
    ----------------
        - Debian squeeze amd64
        - Debian lenny amd64
    
    ===============================================================================
    Copyright (C) 2009-2011, Nippon Telegraph and Telephone Corporation.
    
     
    Hi everyone,

    Sheepdog is a distributed storage system for KVM/QEMU. It provides
    highly available block level storage volumes to VMs like Amazon EBS.
    Sheepdog supports advanced volume management features such as snapshot,
    cloning, and thin provisioning. Sheepdog runs on several tens or hundreds
    of nodes, and the architecture is fully symmetric; there is no central
    node such as a meta-data server.

    The following list describes the features of Sheepdog.

        * Linear scalability in performance and capacity
        * No single point of failure
        * Redundant architecture (data is written to multiple nodes)
        - Tolerance against network failure
        * Zero configuration (newly added machines will join the cluster automatically)
        - Autonomous load balancing
        * Snapshot
        - Online snapshot from qemu-monitor
        * Clone from a snapshot volume
        * Thin provisioning
        - Amazon EBS API support (to use from a Eucalyptus instance)

    (* = current features, - = on our todo list)

    More details and download links are here:

    http://www.osrg.net/sheepdog/

    Note that the code is still in an early stage.
    There are some critical TODO items:

        - VM image deletion support
        - Support architectures other than X86_64
        - Data recoverys
        - Free space management
        - Guarantee reliability and availability under heavy load
        - Performance improvement
        - Reclaim unused blocks
        - More documentation

    We hope finding people interested in working together.
    Enjoy!


    Here are examples:

    - create images

    $ kvm-img create -f sheepdog "Alice's Disk" 256G
    $ kvm-img create -f sheepdog "Bob's Disk" 256G

    - list images

    $ shepherd info -t vdi
       40000 : Alice's Disk  256 GB (allocated: 0 MB, shared: 0 MB), 2009-10-15
    16:17:18, tag:        0, current
       80000 : Bob's Disk    256 GB (allocated: 0 MB, shared: 0 MB), 2009-10-15
    16:29:20, tag:        0, current

    - start up a virtual machine

    $ kvm --drive format=sheepdog,file="Alice's Disk"

    - create a snapshot

    $ kvm-img snapshot -c name sheepdog:"Alice's Disk"

    - clone from a snapshot

    $ kvm-img create -b sheepdog:"Alice's Disk":0 -f sheepdog "Charlie's Disk"


    Thanks.

    --
    MORITA, Kazutaka

    NTT Cyber Space Labs
    OSS Computing Project
    Kernel Group
    E-mail: morita.kazutaka@lab.ntt.co.jp
  • 相关阅读:
    VS Code 隐藏 .meta 文件
    CentOS7安装之后无法上网
    windows通过ssh方式访问CentOS7
    解决libc.so.6: version `GLIBC_2.18' not found问题
    Node.js ArrayBuffer 转为字符串
    centos7 tar, zip 解压文件命令(tar, zip)
    CentOS7安装 clang
    CentOS7开启 ssh 22端口
    MongoDB手册
    C++回调函数
  • 原文地址:https://www.cnblogs.com/zhangzhang/p/2363109.html
Copyright © 2011-2022 走看看