23
page 1 06/09/22 CSE 30341: Operating Systems Principles Raid storage Raid – 0: Striping Good I/O performance if spread across disks (equivalent to n disk heads – think of virtual disk RPM) Simple, easy to implement absolutely no resiliency – failure of one disk is enough Raid 1: Mirrored Simultaneously one write, two reads possible Simple, easy to implement On disk failure, easy to rebuild raid (copy working disk to new disk) High overhead: 100% disk space

Raid storage

  • Upload
    vinny

  • View
    86

  • Download
    3

Embed Size (px)

DESCRIPTION

Raid storage. Raid – 0: Striping Good I/O performance if spread across disks (equivalent to n disk heads – think of virtual disk RPM) Simple, easy to implement absolutely no resiliency – failure of one disk is enough Raid 1: Mirrored Simultaneously one write, two reads possible - PowerPoint PPT Presentation

Citation preview

Page 1: Raid storage

page 104/20/23 CSE 30341: Operating Systems Principles

Raid storage

Raid – 0: Striping Good I/O performance if spread across disks (equivalent

to n disk heads – think of virtual disk RPM) Simple, easy to implement absolutely no resiliency – failure of one disk is enough

Raid 1: Mirrored Simultaneously one write, two reads possible Simple, easy to implement On disk failure, easy to rebuild raid (copy working disk to

new disk) High overhead: 100% disk space

Page 2: Raid storage

page 204/20/23 CSE 30341: Operating Systems Principles

(cont)

Raid 2: ECC Each data byte is written to data drive. ECC of each data

byte recorded in ECC disks. On read, the ECC codes verifies correct data or correct disk read errors

Inefficient, not practical

Raid 3:Bit interleaved parity Data written to data disks, parity written to single disk.

Parity written on writes and checked on read. Transfer rate equal to single disk

Raid 4: block interleaved parity Parity blocks written in parity disk Read transfer rate equals single disk

Page 3: Raid storage

page 304/20/23 CSE 30341: Operating Systems Principles

(cont)

Raid 5:block interleaved, distributed parity Block transfer rates same as single disk Rebuild complex (as compared to raid – 1)

Hardware based raid controllers help Parity uses erasure codes

Raid 6: Two independent parity to protect against two simultaneous disk failures

Question: how many data disks per parity disk? RAID controller cards cost around $800

Need compute power to calculate parity Need buffer space to store data for parity calculation

256 or 512 MB typical

Page 4: Raid storage

page 404/20/23 CSE 30341: Operating Systems Principles

RAID (0 + 1) and (1 + 0)

Page 5: Raid storage

page 504/20/23 CSE 30341: Operating Systems Principles

Stable-Storage Implementation

Write-ahead log scheme requires stable storage.

To implement stable storage: Replicate information on more than one nonvolatile

storage media with independent failure modes. Update information in a controlled manner to ensure that

we can recover the stable data after any failure during data transfer or recovery.

Page 6: Raid storage

page 604/20/23 CSE 30341: Operating Systems Principles

Chapter 14” Goals of Protection

Operating system consists of a collection of objects, hardware or software

Each object has a unique name and can be accessed through a well-defined set of operations.

Protection problem - ensure that each object is accessed correctly and only by those processes that are allowed to do so

Guiding principle – principle of least privilege Programs, users and systems should be given just

enough privileges to perform their tasks

Page 7: Raid storage

page 704/20/23 CSE 30341: Operating Systems Principles

Domain Structure

Access-right = <object-name, rights-set>where rights-set is a subset of all valid operations that can be performed on the object.

Domain = set of access-rights

Page 8: Raid storage

page 804/20/23 CSE 30341: Operating Systems Principles

Domain Implementation (UNIX)

System consists of 2 domains: User Supervisor

UNIX Domain = user-id Domain switch accomplished via file system.

Each file has associated with it a domain bit (setuid bit).

When file is executed and setuid = on, then user-id is set to owner of the file being executed. When execution completes user-id is reset.

Also through a sudo command to elevate to Supervisor

Page 9: Raid storage

page 904/20/23 CSE 30341: Operating Systems Principles

Domain Implementation (Multics)

Let Di and Dj be any two domain rings.

If j < I Di Dj

Multics Rings

Page 10: Raid storage

page 1004/20/23 CSE 30341: Operating Systems Principles

Access Matrix

View protection as a matrix (access matrix)

Rows represent domains

Columns represent objects

Access(i, j) is the set of operations that a process executing in Domaini can invoke on Objectj

Page 11: Raid storage

page 1104/20/23 CSE 30341: Operating Systems Principles

Access Matrix

Page 12: Raid storage

page 1204/20/23 CSE 30341: Operating Systems Principles

Use of Access Matrix

If a process in Domain Di tries to do “op” on object Oj, then “op” must be in the access matrix.

Can be expanded to dynamic protection. Operations to add, delete access rights. Special access rights:

owner of Oi

copy op from Oi to Oj

control – Di can modify Dj access rights

transfer – switch from domain Di to Dj

Page 13: Raid storage

page 1304/20/23 CSE 30341: Operating Systems Principles

Use of Access Matrix (Cont.)

Access matrix design separates mechanism from policy. Mechanism

Operating system provides access-matrix + rules.

If ensures that the matrix is only manipulated by authorized agents and that rules are strictly enforced.

Policy

User dictates policy.Who can access what object and in what

mode.

Page 14: Raid storage

page 1404/20/23 CSE 30341: Operating Systems Principles

Implementation of Access Matrix

Each column = Access-control list for one object Defines who can perform what operation.

Domain 1 = Read, WriteDomain 2 = ReadDomain 3 = Read

Each Row = Capability List (like a key)

For each domain, what operations allowed on what objects.

Object 1 – ReadObject 4 – Read, Write, ExecuteObject 5 – Read, Write, Delete, Copy

Page 15: Raid storage

page 1504/20/23 CSE 30341: Operating Systems Principles

Figure B

Access Matrix of Figure A With Domains as Objects

Page 16: Raid storage

page 1604/20/23 CSE 30341: Operating Systems Principles

Access Matrix with Copy Rights

Page 17: Raid storage

page 1704/20/23 CSE 30341: Operating Systems Principles

Access Matrix With Owner Rights

Page 18: Raid storage

page 1804/20/23 CSE 30341: Operating Systems Principles

Modified Access Matrix of Figure B

Page 19: Raid storage

page 1904/20/23 CSE 30341: Operating Systems Principles

Revocation of Access Rights

Access List – Delete access rights from access list. Simple Immediate

Capability List – Scheme required to locate capability in the system before capability can be revoked. Reacquisition Back-pointers Indirection Keys

Page 20: Raid storage

page 2004/20/23 CSE 30341: Operating Systems Principles

Capability-Based Systems

Hydra Fixed set of access rights known to and interpreted by

the system. Interpretation of user-defined rights performed solely by

user's program; system provides access protection for use of these rights.

Cambridge CAP System Data capability - provides standard read, write, execute

of individual storage segments associated with object. Software capability -interpretation left to the subsystem,

through its protected procedures.

Page 21: Raid storage

page 2104/20/23 CSE 30341: Operating Systems Principles

Language-Based Protection

Specification of protection in a programming language allows the high-level description of policies for the allocation and use of resources.

Language implementation can provide software for protection enforcement when automatic hardware-supported checking is unavailable.

Interpret protection specifications to generate calls on whatever protection system is provided by the hardware and the operating system.

Page 22: Raid storage

page 2204/20/23 CSE 30341: Operating Systems Principles

Protection in Java 2

Protection is handled by the Java Virtual Machine (JVM)

A class is assigned a protection domain when it is loaded by the JVM.

The protection domain indicates what operations the class can (and cannot) perform.

If a library method is invoked that performs a privileged operation, the stack is inspected to ensure the operation can be performed by the library.

Page 23: Raid storage

page 2304/20/23 CSE 30341: Operating Systems Principles

Stack Inspection