OpenStack: What is the difference between Block storage and Object storage?Also, In what way they ar

来源:互联网 发布:2016淘宝排名规则 编辑:程序博客网 时间:2024/05/22 17:41
Block Storage is persistant storage organized into unstructured "blocks", each the same length.  An ordinary disk drive, RAID array, or USB storage key are examples of locally attached "block storage".

Block storage can be either "locally attached", or it can be "network" attached, in a SAN, speaking a network protocols such as iSCSI.

Block storage devices typically are formatted with a filesystem, such as Linux's ext3 or btrfs, or Microsoft's FAT32 or NTFS. The Linux filesystems such as ext3 implement the POSIX filesystem semantics.

In OpenStack, block storage is provided by the Nova system working with the Cinder system.  When you start a Nova compute instance, it will probably come with some block storage devices by default, at the very least to hold the read/write partitions of the running OS. These block storage instances can be "ephemeral" (the data goes away when the compute instance stops) or "persistant" (the data is kept, can be used later again after the compute instances stops), depending on the configuration of the OpenStack system you are using.

A block storage device usually can be attached and in read/write use by only one machine or compute instance at a time.


Object Storage is persistant storage of "objects" in a way that is useful for HTTP access and for making guarantees about the safe storage of data.  An object is a stream of bytes, with an associated name, a MIME type, an access control list (ACL), and other HTTP-related and random metadata. Once an object is created and written, it cannot be changed, only copied or deleted.

Object Store systems are often configured to make very strong guarantees that the data will not be lost, even in a disaster.  Keeping three copies across two geographically separated data centers is common.

Once written, an object can be read by many clients at once.  If you want to "fan out" data: writing it once, and having it read many times by many machines in the near and far future, object storage can help implement that pattern.

With some care in the naming of an object, and by pointing the DNS CNAME of the domain name part of a URL at the address of an Object Storage service, the object can be retrieved and displayed by any web browser on the internet. A great deal of the content, especially graphics and icons, that display in your web browser, are actually objects being served out  of Amazon's AWS S3 service.

In OpenStack, the object storage system is one of the two original projects, and is named Swift.
0 0
原创粉丝点击