qdisk(5) Linux man page
QDisk 1.2 - a disk-based quorum daemon for CMAN / Linux-Cluster
1. Overview
1.1 Problem
In some situations, it may be necessary or desirable to sustain a majority node failure of a cluster without introducing the need for asymmetric cluster configurations (e.g. client-server, or heavily-weighted voting nodes).
1.2. Design Requirements
* Ability to sustain 1..(n-1)/n simultaneous node failures, without the danger of a simple network partition causing a split brain. That is, we need to be able to ensure that the majority failure case is not merely the result of a network partition.
* Ability to use external reasons for deciding which partition is the the quorate partition in a partitioned cluster. For example, a user may have a service running on one node, and that node must always be the master in the event of a network partition. Or, a node might lose all network connectivity except the cluster communication path - in which case, a user may wish that node to be evicted from the cluster.
* Integration with CMAN. We must not require CMAN to run with us (or without us). Linux-Cluster does not require a quorum disk normally - introducing new requirements on the base of how Linux-Cluster operates is not allowed.
* Data integrity. In order to recover from a majority failure, fencing is required. The fencing subsystem is already provided by Linux-Cluster.
* Non-reliance on hardware or protocol specific methods (i.e. SCSI reservations). This ensures the quorum disk algorithm can be used on the widest range of hardware configurations possible.
* Little or no memory allocation after initialization. In critical paths during failover, we do not want to have to worry about being killed during a memory pressure situation because we request a page fault, and the Linux OOM killer responds...
1.3. Hardware Considerations and Requirements
1.3.1. Concurrent, Synchronous, Read/Write Access
This quorum daemon requires a shared block device with concurrent read/write
Ïà¹ØÎĵµ£º
Yum ÊÇyellowdog updater modifiedµÄËõд¡£yum µÄÀíÄîÊÇʹÓÃÒ»¸öÖÐÐIJֿâ(repository)¹ÜÀíÒ»²¿·ÖÉõÖÁÒ»¸ö distribution µÄÓ¦ÓóÌÐòÏ໥¹ØÏµ£¬¸ù¾Ý¼ÆËã³öÀ´µÄÈí¼þÒÀÀµ¹ØÏµ½øÐÐÏà¹ØµÄÉý¼¶¡¢°²×°¡¢É¾³ýµÈµÈ²Ù×÷£¬¼õÉÙÁË Linux Óû§Ò»Ö±Í·Í´µÄ dependencies µÄÎÊÌ ......
1.¶¨Ò庯ÊýÖ¸ÕëÀàÐÍ
Òª¸ù¾Ý¶¯Ì¬¿âÖÐҩʹÓõĺ¯Êý£¬ÔÚÍâÃæ¶¨ÒåͬÑùÀàÐ͵ĺ¯ÊýÖ¸ÕëÀàÐÍ£¬¹©ÒÔºóʹÓÃ
typedef unsigned long(*POpenDev)(IN unsigned long int);
2. ¶¨Ò庯ÊýÖ¸Õë
POpenDev OpenDev;
3.¶¯Ì¬¼ÓÔØ¶¯Ì¬¿â
HANDLE sohandle = NULL;
sohandle = dlopen("libNiKeyDll.so", RTLD_NOW);
......
±àÒë²¢°²×°Busybox 1.15.3µ½L inux2.6.11.1,Æô¶¯ÏµÍ³
½øÈëshell Ìáʾ: ./ash : can't access tty; job control turned off.
·ÖÎö·¢ÏÖ
/etc/inittabÎļþÖÐÓÐÒ»ÐÐ:
::askfirst:/bin/ash
ÕâÔÚbusybox 1.2.1ÔËÐÐÕý³£
ÐÞ¸ÄΪ
tty1::askfirst:/bin/ash
ºóÕý³£. ......
++++++++++++++++++++++++++++++++++++++++++++++++
¼¼Êõ×ÊÁϱ¸·Ý
++++++++++++++++++++++++++++++++++++++++++++++++
0¡¢¼ÜÉèSamba ·þÎñÆ÷µÄǰÌ᣻
LinuxÊÇÒ»¸ö¶àÓû§µÄ²Ù×÷ϵͳ£¬¶ÔÈκηþÎñÆ÷µÄ¼ÜÉèÓë¶¼Óû§¡¢Óû§×鼰ȨÏÞÏà¹Ø£¬ÕâÊDzÙ×÷µÄ»ù´¡¡£Samba·þÎñÆ÷Ò²²»ÀýÍ⣬¶ÔÕâЩ֪ʶµÄÕÆÎÕÒ²ÊǼ«ÎªÖØÒªµÄ¡£ÔÚWindowsϵͳ ......
......