Ceph分布式存储实战 Ceph中国社区 135个笔记 ◆ 本书赞誉 Ceph的CRUSH算法引擎, 继续阅读
分类目录归档:阅读笔记
[摘录]《Ceph分布式存储实战》 – Ceph中国社区
Ceph分布式存储实战 Ceph中国社区 135个笔记
◆ 本书赞誉
Ceph的CRUSH算法引擎,聪明地解决了数据分布效率问题
开源系统是Linux的世界,开源管理平台是OpenStack的世界,开源存储是Ceph的世界。
◆ 前言
美国雅虎公司使用Ceph构建对象存储系统,用于Flickr、雅虎邮箱和Tumblr(轻量博客)的后端存储;国内不少公有云和私有云商选择Ceph作为云主机后端存储解决方案。
◆ 第1章 初识Ceph
Ceph可以同时提供对象存储RADOSGW(Reliable、Autonomic、Distributed、Object Storage Gateway)、块存储RBD(Rados Block Device)、文件系统存储Ceph FS(Ceph Filesystem)3种功能
其对象存储可以对接网盘(owncloud)应用业务等;其块设备存储可以对接(IaaS)
以OpenStack为核心的云厂商:例如UnitedStack、Awcloud等国内云计算厂商。
在Ceph存储中,包含了几个重要的核心组件,分别是Ceph OSD、Ceph Monitor和Ceph MDS
一个Ceph的存储集群至少需要一个Ceph Monitor和至少两个Ceph的OSD。
运行Ceph文件系统的客户端时,Ceph的元数据服务器(MDS)是必不可少的
Ceph OSD:全称是Object Storage Device,主要功能包括存储数据,处理数据的复制、恢复、回补、平衡数据分布,并将一些相关数据提供给Ceph Monitor,例如Ceph OSD心跳等
每一个Disk、分区都可以成为一个OSD。
Ceph MDS:全称是Ceph Metadata Server,主要保存的是Ceph文件系统(File System)的元数据(metadata)。
RADOSGW功能特性基于LIBRADOS之上,提供当前流行的RESTful协议的网关,并且兼容S3和Swift接口,作为对象存储,可以对接网盘类应用以及HLS流媒体应用等。
RBD(Rados Block Device)功能特性也是基于LIBRADOS之上,通过LIBRBD创建一个块设备,通过QEMU/KVM附加到VM上,作为传统的块设备来用。
Ceph FS(Ceph File System)功能特性是基于RADOS来实现分布式的文件系统,引入了MDS(Metadata Server),主要为兼容POSIX文件系统提供元数据。一般都是当做文件系统来挂载。
Ceph底层核心是RADOS
[插图]
RADOS:RADOS具备自我修复等特性,提供了一个可靠、自动、智能的分布式存储。
LIBRADOS:LIBRADOS库允许应用程序直接访问,支持C/C++、Java和Python等语言
RADOSGW:RADOSGW是一套基于当前流行的RESTful协议的网关,并且兼容S3和Swift。
RBD:RBD通过Linux内核(Kernel)客户端和QEMU/KVM驱动,来提供一个完全分布式的块设备
Ceph FS:Ceph FS通过Linux内核(Kernel)客户端结合FUSE,来提供一个兼容POSIX的文件系统。
Ceph系统最终采用Crush、Hash环等方法更彻底地解决了这个问题。很显然Sage的眼光和设想还是很超前的。
◆ 第2章 存储基石RADOS
Cluster Map是整个RADOS系统的关键数据结构,管理集群中的所有成员、关系和属性等信息以及数据的分发。
对于RADOS系统,节点组织管理和数据分发策略均由内部的Mon全权负责,因此,从Client角度设计相对比较简单,它给应用提供存储接口
Ceph monitor map包括OSD Map、PG Map、MDS Map和CRUSH等,这些Map被统称为集群Map。
Monitor Map。Monitor Map包括有关monitor节点端到端的信息,其中包括Ceph集群ID,监控主机名和IP地址和端口号,它还存储了当前版本信息以及最新更改信息
可以通过以下命令查看monitor map。 #ceph mon dump
OSD Map。OSD Map包括一些常用的信息,如集群ID,创建OSD Map的版本信息和最后修改信息,以及pool相关信息,pool的名字、pool的ID、类型,副本数目以及PGP,还包括OSD信息,如数量、状态、权重、最新的清洁间隔和OSD主机信息
可以通过执行以下命令查看集群的OSD Map。 #ceph osd dump
PG Map包括当前PG版本、时间戳、最新的OSD Map的版本信息、空间使用比例,以及接近占满比例信息,同时,也包括每个PG ID、对象数目、状态、OSD的状态以及深度清理的详细信息
可以通过以下命令来查看PG Map。 #ceph pg dump
CRUSH Map包括集群存储设备信息,故障域层次结构和存储数据时定义失败域规则信息
可以通过以下命令查看CRUSH Map。 #ceph osd crush dump
MDS Map包括存储当前MDS Map的版本信息、创建当前Map的信息、修改时间、数据和元数据POOL ID、集群MDS数目和MDS状态
可通过以下命令查看集群MDS Map信息。 #ceph mds dump
Ceph Monitor并未为客户提供数据存储服务,而是为Ceph集群维护着各类Map,并服务更新群集映射到客户机以及其他集群节点。客户端和其他群集节点定期检查并更新于Monitor的集群Map最新的副本。
一个典型的Ceph集群包含多个Monitor节点
一个多Monitor的Ceph的架构通过法定人数来选择leader,并在提供一致分布式决策时使用Paxos算法集群
在Ceph集群中有多个Monitor时,集群的Monitor应该是奇数;最起码的要求是一台监视器节点
由于Monitor工作在法定人数,一半以上的总监视器节点应该总是可用的,以应对死机等极端情况,这是Monitor节点为N(N>0)个且N为奇数的原因
所有集群Monitor节点,其中一个节点为Leader。如果Leader Monitor节点处于不可用状态,其他显示器节点有资格成为Leader
生产群集必须至少有N/2个监控节点提供高可用性。
Ceph OSD将数据以对象的形式存储到集群中每个节点的物理磁盘上,完成存储用户数据的工作绝大多数都是由OSD deamon进程来实现的
Ceph集群一般情况都包含多个OSD,对于任何读写操作请求,Client端从Ceph Monitor获取Cluster Map之后,Client将直接与OSD进行I/O操作的交互,而不再需要Ceph Monitor干预
Ceph的核心功能特性包括高可靠、自动平衡、自动恢复和一致性
对于Ceph OSD而言,基于配置的副本数,Ceph提供通过分布在多节点上的副本来实现,使得Ceph具有高可用性以及容错性
OSD中的每个对象都有一个主副本,若干个从副本,这些副本默认情况下是分布在不同节点上的
每个OSD都可能作为某些对象的主OSD,与此同时,它也可能作为某些对象的从OSD,从OSD受到主OSD的控制,然而,从OSD在某些情况也可能成为主OSD
在磁盘故障时,Ceph OSD Deamon的智能对等机制将协同其他OSD执行恢复操作。在此期间,存储对象副本的从OSD将被提升为主OSD,与此同时,新的从副本将重新生成,这样就保证了Ceph的可靠和一致。
Ceph OSD架构实现由物理磁盘驱动器、在其之上的Linux文件系统以及Ceph OSD服务组成
Ceph OSD操作必须在一个有效的Linux分区的物理磁盘驱动器上,Linux分区可以是BTRFS、XFS或者EXT4分区,文件系统是对性能基准测试的主要标准之一
BTRFS:在BTRFS文件系统的OSD相比于XFS和EXT4提供了最好的性能
XFS:一种高性能的日志文件系统,XFS特别擅长处理大文件,同时提供平滑的数据传输。目前CentOS 7也将XFS+LVM作为默认的文件系统
Ext4:第四代扩展文件系统,是Linux系统下的日志文件系统,是Ext3文件系统的后继版本
Ceph OSD把底层文件系统的扩展属性用于表示各种形式的内部对象状态和元数据
Ceph使用日志文件系统,如增加了BTRFS和XFS的OSD
在提交数据到后备存储器之前,Ceph首先将数据写入称为一个单独的存储区,该区域被称为journal,这是缓冲器分区在相同或单独磁盘作为OSD,一个单独的SSD磁盘或分区,甚至一个文件文件系统
journal允许Ceph OSD功能很快做小的写操作;一个随机写入首先写入在上一个连续类型的journal,然后刷新到文件系统。这给了文件系统足够的时间来合并写入磁盘。使用SSD盘作为journal盘能获得相对较好的性能。
文件映射到Object后,利用Cluster Map通过CRUSH计算而不是查找表方式定位文件数据到存储设备中的位置。优化了传统的文件到块的映射和BlockMap管理。
RADOS充分利用了OSD的智能特点,将部分任务授权给OSD,最大程度地实现可扩展。
◆ 第3章 智能分布CRUSH
对象存储中一致性Hash和Ceph的CRUSH算法是使用比较多的数据分布算法
在磁盘阵列中,数据是以条带(stripe)的方式贯穿在磁盘阵列所有硬盘中的
将条带单元(stripe unit)从阵列的第一个硬盘到最后一个硬盘收集起来,就可以称为条带(stripe)
从本质上讲,CRUSH算法是通过存储设备的权重来计算数据对象的分布的
在计算过程中,通过Cluster Map(集群映射)、Data Distribution Policy(数据分布策略)和给出的一个随机数共同决定数据对象的最终位置
PG在CRUSH策略的影响下,最终会被映射到OSD上。
◆ 第4章 三大存储访问类型
块是一个有序字节,普通的一个块大小为512字节
基于块的存储是最常见的存储方式,比如常见的硬盘、软盘和CD光盘等
RBD具有快照、多副本、克隆和一致性功能。
Format 1是原始格式,也是创建image的默认格式,Format 2支持RBD分层(layering),是实现COW(Copy-On-Write)的前提。
◆ 第5章 可视化管理Calamari
Calamari是一个管理和监控Ceph集群的Web平台,提供了漂亮的管理和监控界面,还提供了一套RESTful API接口,目的是为了简化Ceph集群管理
Calamari包括前端和后端两个部分,每个部分都有各自的代码库。
◆ 第6章 文件系统——高性能计算与大数据
在高性能计算领域,MPI是重要的分布式计算模型。MPI是一种基于消息传递的并行编程技术,其定义了一组具有可移植性的编程接口。通过MPI编程模型,程序员能编写基于消息通信的应用程序,而这个应用程序能在不同的节点上启动并协调工作,它们需访问共享存储,而Ceph FS正好提供共享存储的访问。
◆ 第7章 块存储——虚拟化与数据库
时,将qcow2转化成raw格式。这是由于KVM虚拟化访问Ceph RBD存储时将会配置raw的访问格式,故在此步骤中转换成raw格式
因为只有RAW格式的镜像才支持COW(Copy On Write)秒级创建。
CloudStack,项目地址http://cloudstack.apache.org/,提供一个开源的“基础设施即服务”(IaaS)的解决方案,特点是高可用和高扩展的能力。
CloudStack前身是Cloud.com, 2011年7月被Citrix思杰收购并100%开源。2012年4月,Citrix思杰宣布把CloudStack交给Apache软件基金会管理以及开发
目前CloudStack最新版本为4.6.0,支持虚拟化包含XenServer、KVM、LXC、VMware、HyperV和OVM3,同时支持物理服务器(Baremetal)。
1998年,iSCSI由IBM公司和Cisco公司开发,允许在硬件设备、IP协议上层运行SCSI指令集(SCSI over TCP)
iSCSI最大的特点就是,可以实现在IP网络上运行SCSI协议,使其能够在100/1000/10000Mbps的以太网上进行传输
Ceph通过Tgtd方式实现将RBD块存储转译为iSCSI存储访问协议,可以提供VMware ESXi、Citrix XenServer、Microsoft Hyper-V、oVirt和Oracle VM等虚拟化场景,也可以提供如Oracle RAC和Microsoft MSCS等高可用集群数据库场景。
◆ 第9章 Ceph硬件选型、性能测试与优化
超线程技术(Hyper-Threading, HT)就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高CPU的运行效率,
DPDK(Data Plane Deveploment Kit)抛弃了传统使用CPU中断处理数据包的方式,采用了轮询方式实现数据包处理过程:DPDK重载了网卡驱动,驱动在收到数据包后不使用中断通知CPU,而是直接使用零拷贝存入用户态内存中,使得应用程序可以通过DPDK提供的接口从内存中直接读取数据包
使用DPDK类似RDMA,避免了内存拷贝、上下文切换的时间
Ceph OSD进程在往数据盘上刷数据的过程中,是停止写操作的。
PG和PGP数量一定要根据OSD的数量进行调整,计算公式如下,但是最后算出的结果一定要接近或者等于2的指数。
要区分硬盘、SSD、RAID、SAN和云硬盘等,因为它们有不同的特点。
测试指标:IOPS和MBPS(吞吐率)
测试工具:Linux下常用Fio、dd工具,Windows下常用IOMeter。
块存储系统本质是一个排队模型
响应时间=服务时间+等待时间。
性能=单位时间内处理业务数量。
服务时间 = 寻道时间 + 旋转时间 + 传输时间
对于10000转速的SATA硬盘来说,一般寻道时间是7 ms,旋转时间是3 ms,64KB的传输时间是0.8 ms,则SATA硬盘每秒可以进行随机IO操作是1000/(7 + 3 + 0.8) = 93。所以,我们估算SATA硬盘64KB随机写的IOPS是93
一般的硬盘厂商都会标明顺序读写的MBPS(吞吐量)。
我们在列出IOPS时,需要说明IO大小、寻址空间、读写模式、顺序/随机和队列深度。一般常用的IO大小是4KB,这是因为文件系统常用的块大小是4KB。
在dd测试的同时也要对系统IO进行监控,使用iostat命令对系统IO进行查看。 #iostat -x sdd 5 10
加大硬盘队列深度就是让硬盘不断工作,减少硬盘的空闲时间。
加大队列深度→提高利用率→获得IOPS和MBPS峰值→注意响应时间在可接受的范围内
增加队列深度的办法有很多,如下。 ❑使用异步IO,同时发起多个IO请求,相当于队列中有多个IO请求。 ❑多线程发起同步IO请求,相当于队列中有多个IO请求。 ❑增大应用IO大小,到达底层之后,会变成多个IO请求,相当于队列中有多个IO请求队列深度增加了。
现在,我们来测试SATA硬盘的4KB随机写的IOPS。因为环境是Linux,所以使用fio来测试。
$fio -ioengine=libaio -bs=4k -direct=1-thread -rw=randwrite -size=1000G-filename=/dev/vdb -name=”EBS 4K randwrite test” -iodepth=64-runtime=60 简单介绍一下fio的参数如下。 ❑Ioengine:负载引擎,我们一般使用libaio,发起异步IO请求。 ❑bs:IO大小。 ❑direct:直写,绕过操作系统Cache。因为我们测试的是硬盘,而不是操作系统的Cache,所以设置为1。 ❑rw:读写模式,有顺序写write、顺序读read、随机写randwrite和随机读randread等。 ❑size:寻址空间,IO会落在[0, size)这个区间的硬盘空间上。这是一个可以影响IOPS的参数。一般设置为硬盘的大小。 ❑filename:测试对象。 ❑iodepth:队列深度,只有使用libaio时才有意义。这是一个可以影响IOPS的参数。 ❑runtime:测试时长。
硬盘厂商提高硬盘性能的方法主要是降低服务时间(延迟)。 ❑提高转速(降低旋转时间和传输时间)。 ❑增加Cache(降低写延迟,但不会提高IOPS)。 ❑提高单磁道密度(变相提高传输时间)。
我们首先进行4K随机写测试,具体如下。 #fio -ioengine=libaio -bs=4k -direct=1-thread -rw=randwrite -size=100G-filename=/dev/vdb \ -name=”EBS 4KB randwrite test” -iodepth=32-runtime=60
◆ 第10章 自定义CRUSH
计算机界有句名言: 计算机的任何问题都可以通过增加一个虚拟层来解决,计算机硬件、计算机网络、计算机软件等方面概莫如此。
在Ceph里,PG是数据存储的管理单元,如果把PG当作一致性Hash里的存储节点,那么它就是最简单的数据分布(即取余算法)方式。不同的是,PG是抽象的存储节点,它不会随着物理节点的加入或者离开而增加或减少,因此数据到PG的映射是稳定的。
本章中列举了常用的CRUSH使用场景,通过灵活设计CRUSH方案,实现“指哪存哪”的目标,真正做到了软件定义存储
◆ 第11章 缓冲池与纠删码
传统上,Cache为了缓和CPU和IO设备速度不匹配的矛盾,提高CPU和IO设备的并行性而存在的
在计算机组成里,每个部件的设计都可以看到Cache的影子
Cache的设计原理是把读取过的数据保存起来,如果在以后的操作中重新读取时则命中(找到需要的数据),就不要去读较慢的设备,若没有命中就读较慢的设备。
Buffer的设计原理是把分散的写数据内容集中进行,按照一定周期写到目标设备。
我们可以暂且认为Cache是针对读优化,而Buffer是针对写优化。
在本地计算机结构组成里,相比CPU和内存之间的IO差距,内存和机械硬盘的IO差距较为明显
比较内存、固态硬盘和机械硬盘的每GB单位成本,得出的结果是内存>固态硬盘>机械硬盘
使用SSD固态硬盘这一类的高速且价格昂贵的存储介质组成高性能资源池,使用SATA机械硬盘这一类低速廉价的介质组成低速高容量资源池
要实现缓冲池技术,首先需要将整个存储系统按照存储介质的性能分为前端高速缓冲池和后端低速存储池,使用特定算法将数据写入和读取流程进行适当的调整,将访问次数比较频繁的热数据缓存储在前端高速缓冲池中(对应热数据上浮),而访问量比较低的冷数据则存储在后端低速存储池中(冷数据下沉),从而实现提高读写性能的目的
虽然纠删码能够提供和副本相近的数据可靠性,并降低冗余数据的开销,整体上能提高存储设备的可用空间。但是,纠删码所带来的额外开销主要是大量计算和网络高负载,优点同时伴随缺点
使用纠删码对硬件的设备性能是一个较大的考验,这点需要注意。另外,需要注意的是,使用纠删码所建立的存储资源池无法新建RBD块设备。
◆ 第12章 生产环境应用案例
Ceph FS主要对接于传统的应用,例如直接mount到服务器作为文件系统使用,另外就是用来对接Hadoop和对接OpenStack Manila项目
NFS(Network FileSystem)是类UNIX系统中最流行的网络共享文件系统之一。即使是不支持Ceph FS文件系统的类UNIX系统,也可以通过NFS来访问Ceph文件系统。
由于Ceph-Dokan只能正确读取UNIX格式的ceph.conf文件,因此你要用dos2unix把你的ceph.conf转换成UNIX格式。
OpenStack对接Ceph之后可以实现COW(Copy On Write)秒速开机,避免了Nova下载上传的一个动作,可以直接拷贝Glance存储池的镜像数据进行启动
HLS是Apple公司推出的一套基于HTTP的流媒体实时传输协议,全称是HTTP Live Streaming,同时能够跨多种平台和操作系统,在视频分享、在线教育等领域得到了广泛的应用
◆ 第13章 Ceph运维与排错
默认情况下,磁盘可以使用by-id/by-partlabel/by-parttypeuuid/by-partuuid/by-path/by-uuid等多种形式的名称对磁盘设备进行管理,但是在Ceph中,如果磁盘数量过多,加上为了更好区别每一个OSD对应的磁盘分区用途(比如filestore或journal),同时确保物理磁盘发生变更(故障盘替换后)后对应的名称不变,对OSD对应的磁盘设备命名提出新的管理需求
例使用udev的方式,将磁盘按照osd[N]的方式进行命名,比如/dev/osd5_filestore_1表示osd5的第一个filestore分区,/dev/osd5_journal_5表示osd5的第一个journal分区(表示该磁盘用于osd.5的filestore)
Cgroups是Control Groups的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组(Process Groups)所使用的物理资源(如CPU、Memory和IO等)的机制。最初由Google公司的工程师提出,后来被整合进Linux内核。Cgroups也是LXC为实现虚拟化所使用的资源管理手段,可以说没有Cgroups就没有LXC。
Virtual Storage Manager Virtual Storage Manager(VSM)是Intel公司研发并且开源的一款Ceph集群管理和监控软
Inkscope是一个Ceph的管理和监控系统,依赖于Ceph提供的API,使用MongoDB来存储实时的监控数据和历史信息
组件之间的通信都以保证时间同步为前提,否则,会导致数据不完整与不一致性
根据不少生产环境反映,调整抖动时间会引发一些未知的问题,在此建议设置时间强同步更为妥当。
默认的Crush Rule设置的隔离是Host级,即多副本(如三副本)情况下,每一副本都必须分布在不同的节点上。
当节点数不满足大于或等于副本数时,PG的状态自然就不能是active+clean,而会显示为“degraded”(降级)状态。
[插图]
计算的最终结果应该是2的幂次方。采用2的幂次方是为了提高CRUSH算法的效率
《梁永安:阅读、游历和爱情》
梁永安:阅读、游历和爱情 梁永安 70个笔记 ◆ 谈自我 如何衡量自我价值?其实很简单:每天都反思一 继续阅读
[摘录]《梁永安:阅读、游历和爱情》
梁永安:阅读、游历和爱情 梁永安 70个笔记
◆ 谈自我
如何衡量自我价值?其实很简单:每天都反思一下自己,看看在知识上有没有增加?文化视野的宽度有没有扩大?情感的含量有没有更加丰富?行动性有没有增强?
社会面向全球的时候,我们需要海洋文明的精神推动它;坚持做周期性的事情时,要时段,要播种、收获,需要坚持农业文明的开垦性和持久性;而要探寻生活的自由感时,又需要游牧民族特质发挥作用。
◆ 谈工作
年轻人以为自己对某份工作很喜欢,这个喜欢实际带有虚幻性,它受成长过程中的所看、所感影响。我们需要思考的是,这份工作是不是你本性里真正喜欢且愿意投入的事情呢?
做任何工作,你历经千难万苦,最后让你不放弃的,实际上还是人,当然这工作首先是你自己喜欢的。和对的人一起做对的事,这可以作为一个衡量标准。但现在很多年轻人选工作,首选工资高,其实方向都走错了。
前人的模式不可遵循,这一代年轻人要自己去摸索,但哪有那么简单。
场景置换也是时代置换,所以要相信年轻人,如果不摸鱼就坏事了,说明他固化了。他有这个状态,说明他还在思考,在摸鱼中探索,还算是清醒的人、有真生命的人。
社会进步的推动力还是在那些不甘心的人、创业者,有创新精神的大公司上。他们都有很强的主动精神、创业精神、奋斗精神,正好符合国家与时代发展的要求。
人有完整性、全面性的要求,人一定要有自己的自由时间。衡量人的解放,最最重要的指标就是人的自由时间。年轻人的自由时间没了,艺术心情、空间渴望、情感权利也全没了,创造性匮乏,老板们这么做无异于杀鸡取卵。
生产力的根本说到底还是人的创造力、想象力。
年轻人最不好、最不能要的就是只抱怨但提不出建设性、成长性的方案。
一个群体聚集起来,不管是文化生产还是经济生产,它是不同活法的人聚在一起
国际竞争一紧张,其他国家可能会设法打压,中国内部的形势也会绷紧。现在全民族正是用尽全力爬陡坡的时候,“内卷”“996”,这就是年轻人的处境——正好卡在这样的国家发展节点上。
这一代年轻人处在生活、艺术多元化发展的时代,本来应该有正常的工作节奏,用晚上和周末的时间去丰富自我,但是面临着国家产业紧张的现实,不得不迎难而上,他们内心的焦虑、压力是巨大的。在这种背景下,男青年、女青年也互相对彼此失望,因为对方不仅不能给自己提供纾解,反而会拉低自己的生活质量。
这是一个特殊的年代,孕育着特殊的群体。在这个阶段之后,一个伟大时代就会来临。
社会的问题靠加班是解决不了的,一定要找出一些新的组织形式、生产方式、科技手段等,使生产力进入发展的新阶段。
作为一个年轻人,你要意识到这是一个前方有很多空白的时代,是一个归零时代,它不像以前我们通过行万里路即可获得认知。
世上存在各种未知、各种不确定,唯一确定的就是不确定。但不确定中存在未知和美,即不确定之美。
第一,要对世界保持好奇心。
第二,要走出舒适区,在新的领域里寻找人生的可能性。
人只有具有普泛的感情,才能不断地获得心灵世界的打开宽度。
我们毕生的追求应该是要在差异性里获得对世界的丰富认知。
热爱这个世界的多样性之后,你会发现人生的使命不是被动地接受,而是再添加,跟世界互相扩大延展。
一个人的价值是在差异性里体现自己的创造性,这是年轻人需要去理解的部分。
的生命有两种,一种是快乐,一种是幸福,而幸福必然是投入劳动才能获得的。
生活一定要跟劳动并存,只有能问心无愧地说“现在的生活就是我劳动所得”,才会感到踏实。
一切工作都是以劳动者获得自己的价值和尊严为前提,最基本的正义是让全天下的劳动者获得公正,获得自己应该过的生活。
有时候你帮助过一个人,他当时并不觉得感动,但是多年以后他懂得了,便会感恩。这就是你的劳动“成果”。
只有劳动,你才会有收获,有收获才能传递能量给别人。越不是靠劳动得来的,越舍不得给别人,这是一个最基本的问题。
将来会有大量的新产业诞生,传统行业的人力得到解放。那么,人解放后做什么呢?社会可能会产生微娱乐,而各种新行业、新创意都需要人的参与。
如今的年轻人,既要维生,又要保持生命的探索性,“斜杠”使之成为可能。
但是我们也要防止另一种情况的出现——现在的世界太多元、太丰富,有的人一辈子在各种可能性之间奔跑,最后一事无成。
小说结尾处,奥吉·马奇40多岁,他的过往始终在拒绝中度过,什么也没有找到,他陷入了“世界没有价值”的虚空中,最终靠贩卖军火赚钱。
一个人在尝试的过程中一定要有百分之百的真诚、百分之百的韧性,而不能浅尝辄止。
很多人认为自己探索、尝试后仍一无所获,其实是对一件事物还不够熟悉、深入,缺乏磨炼,这个磨炼就像是水滴石穿的过程。
曾经的农业社会留下一个问题——社会培养出来的基本都是“业余选手”,既能种地,又能喂牛、养猪,还能盖房子,但是都不能达到精细的程度。
◆ 谈人格
好人的一个标准是我们自己的内心感觉是否幸福,另外一个标准是有没有对别人造成大的伤害。
◆ 躺平与幸福
中国人有两个传统,坚不可摧。一个是劳动性
第二个是崇尚学习,
年轻人一定要活在10年之后,如果困在当下,就没有前途。
这个时候,就需要年轻人对幸福、对什么是价值产生眺望,启动探索,这是当下年轻人特别需要的。
苏格拉底跟学生说:我终于发现我是整个希腊最有智慧的人。学生一听,问:老师你怎么知道的?苏格拉底说:因为我遇到的每个人都觉得自己很有智慧,而整个希腊只有我一个人知道,我一无所知,所以我是最有智慧的。
◆ 谈女性文化
农业社会对女性来说,封闭性太强,女性是天然亲近城市的。
人活于世,最怕的是认为这个世界钱是一切,只有一元性的标准,然后对不一样的东西都排斥。
男性确实是左半脑发达,而女性是左半脑、右半脑都发达
现在的女性文化,属于过程哲学,不像男性文化那么有目标性。
目前的现实情况是,我们文化和技术发展太慢了,人受传统思想的影响,都去买房子、买车子,生活方式千人一面。
一个人一辈子需要出生两次,第一次出生是生理上的出生,第二次出生是精神上的觉醒,知道自己应该做一个什么样的人。
◆ 谈女性写作
在输出中,女性的语言多是情绪交换,男性多是信息交换。表现在写作里,女性的表达欲望更强烈,文字也容易有情感渲染,这是女性写作的特质。
真正的文学家写作是不按语法规范的,文字是性灵语言
◆ 谈孤独
全世界的人类,只要有自己真正的价值思考,有思辨精神,很大程度上他都是孤独的
任何时代都有一个问题,就是思想者、有自己的价值判断的人,他和社会大众始终存在一种紧张的关系。
诗人波德莱尔跟朋友在一个咖啡馆里,他出神地看着外面的人,朋友问他看什么,他说我看到累累白骨。
你有孤独的能力,才能造福大众。
每个人都有非常好的天资,人在社会上最怕的就是这辈子被自己的杂质淹没
很多人因为太聪明,想太多,欲望太多,把自己分解了,过得沉重不堪,身上肩负着几十个人的欲望,羡慕这个,羡慕那个。生活如何能清零?如何才能回归简单?只有回归简单,人才能发现自己澎湃的感受。
是我看过的最美的脚印,那两个恋人彼此心里的话不知道有多少,但是这样一个无言时刻肯定让他们体会到了更深的东西。
今天的人太复杂,潜意识里埋藏了太多的欲望,不能承受孤独的一个巨大障碍就是放不下。
独立探索最大的力量在于你要自己证明自己,因为这世界上你是最独特的,别人无法证明你。
所以孤独要有一种必要的精神气质、内在气质来支撑,如勇敢、勇气、思想,等等,还需要很大的傻气,太聪明的人孤独不了。孤独需要一种单纯的傻气,那种天真气。
我们很多人都是从一个点进入生活,看到喜欢的东西,然后去追求。
◆ 谈读书
有时候环境越艰苦,读书就能越用心,越全心全意。现在读书的各种条件比过去好多了,人反而不像以前那样容易百分之百投入,这是一种心境的变化。书和人的命运,书和人的生命,是连在一起的。
书也不是读得越多越好、越广越好,多是必要的,广也是好的,但是一个人一辈子一定要找到自己的生命之书,那里蕴含着你对自己人生的认知。
◆ 谈生活
现在的年轻人结婚后,房子一买,生活基本就不转动了,进入了固定的模式。
归根结底,以前作为个体的人,他们的目标是由家族、父母、国家来定,自己不定目标。
未来引领中国的人,不会是单向度的人,而是有复杂性和丰富性的人。这种人更清楚自己要寻找的生活方向。将来中国社会肯定有一批终于意识到世界之大、生活之丰富、自己还有很多向往的人,这帮人更有力量。
中国人现在缺的是多样性,如果能真正走出去,就会变成世界人,脑子里聚合的东西多了,创意自然就出来了。
年轻时期正是人的大脑发育、情感发育、想象力最好的时候,现在剥夺一年,等于剥夺十年,以后用翻倍的努力也弥补不回来。
有能力的老板,能在八小时内提高效率、优化企业,挖掘出创意,如果企业文化不行,只能靠增加工作量,把青年当机械工具使用,那就毁了年轻人了。
其实每个年轻人身上都藏着太多好的东西,但是这些好东西现在还没变成自己好的意识。
◆ 谈社交
现代社会最大的特点,就是能很便捷地把不同的资源聚集整合起来。
《聪明人都下笨功夫 愚蠢人只想走捷径》 – 夏文芳
聪明人都下笨功夫 愚蠢人只想走捷径 夏文芳 61个笔记 ◆ 01 聪明没有护城河 想成功,就得在别人 继续阅读
[摘录]《聪明人都下笨功夫 愚蠢人只想走捷径》 – 夏文芳
聪明人都下笨功夫 愚蠢人只想走捷径 夏文芳 61个笔记
◆ 01 聪明没有护城河
想成功,就得在别人工作的时候你拼命工作,别人不工作的时候你还在拼命工作。
胡润研究院发布的《2015至尚优品—中国千万富豪品牌倾向报告》显示,富豪平均工作日睡眠6.6个小时,三成亿万富豪工作日睡眠不足6个小时。
有一次和朋友吃饭,一个擅长中医的朋友告诉我们,一个人每天必须睡够8个小时。其中有个朋友说:“别看他这么说,最近他两天都睡不够8个小时。”
当一个人心烦意乱的时候,连正常水平都很难发挥,更别提成长和进步了,自然也是做不好事情的。
遗憾的是,现在的聪明人不是太少,而是太多了,大家太喜欢走捷径,图快速,而不愿意静下心来做好一件事情。
其实,一心想图快并不是聪明的做法,真正的聪明人,是像李子柒那样,专注于一件事情,精心打磨,机会自然会主动找到她。
弯道超车这个词最近总是出现在各种文章里,对于刚学会开车的我来说有点摸不着头脑,因为交通规则明明规定,在弯道不许超车的,那样很容易翻车。
而今大家多以“弯道超车”比喻危中有机,从大的方面来说,经济发展上的每一次危机,都是产业重新布局,企业重新洗牌,新机遇不断涌现的关键时期;从小的方面来说,就是越是在不乐观的环境下,反而会有新机会。
想要弯道超车固然是好的,但是一定要确保不翻车,要尊重所在领域的相关规则,更要把法律放在心上,要不然就像小军一样,将自己的后半生过成了悲剧。
曾国藩就是一个爱用“笨”方法的人。小时候,父亲要求他读书的时候,如果上一句读不懂,不能读下一句;如果这本书读不完,不能读下一本;如果一天的任务完不成,不许睡觉。他从来没有走过捷径,严格按照父亲的要求,一条路走到黑。
曾国藩就是这样,一座城接着一座城,一点一点地挖沟,一步步地往前拱,把太平天国给拱没了。
《史记》记载:孔子在年轻之时曾向老子请教过做人的道理。老子曰:“良贾深藏若虚,君子盛德,容貌若愚。”大意是说,一个头脑精明的商人会把货物密藏不让别人看见,虽然富有,却像什么也没有;一个品德高尚的君子,往往像个愚钝的人一样,毫不外露。
其实,世间根本就没有一夜暴富的美梦,成功的背后,都是“一番寒彻骨”的苦功。
知乎上有人问,一个人是怎么一步一步废掉的?我看到这个问题,脑海里就冒出了四个字:满足现状。
我很好奇,为什么会这么说呢?他说,因为太满足于现状了,以至于这几年他没有任何的进步,整个人都懒洋洋的,提前过上了退休生活,感觉人生已经再无盼头,这难道还不是废掉了吗?
知足是一种富足饱满的人生心态,是一种来自内心深处的美好情怀,是对现有人生的自信、豁达、平和、愉悦的关注与认可。而满足则是一种迟钝静止的人生状态,对周遭一切不再关注后,原地踏步不动。
俗话说,做人需要知足,做事不可满足。懂得做人知足,我们就不会把精力和心思放在一些不重要的、虚浮的东西上,专注于内心的安宁。而有了做事永不满足的斗志,我们才会勇于攀登人生的顶峰,也才有可能拥有多彩斑斓的一生。
你在年初的时候不努力,待到年底,就只能配得上你现在的生活。你在风华正茂的年纪虚度时日,待到而立之年,就只能配得上你糟糕的一生。
小军的朋友圈像极了公共场合的吸烟室,不抽烟的人路过都会被呛着。
与会的朋友,告诉我一个信息,那些女性精英认为每天睡6个小时很多了,3个小时是常有的事。
作家苏心讲过这样一段话:“现在用汗水解决的事,不要留着以后用泪水,况且,泪水也解决不了任何问题。”
她真的是一个非常有远见的人,而看得远的人,往往都明白,能用汗水解决的问题,就别用泪水,因为用汗水努力去生活,人生才会更自由。
我后来向那个主管确认原因的时候,她说:“一个连别人努力掩饰的痛苦表情都能留心到的人,工作上也一定会非常注意细节,有责任心。”
后来妹妹主动把她解雇了。一个凡是不留心、不注重细节的人,也无法指望她做好其他事情,就更别提有好的业绩了。
老住持告诉他:“你撞的钟虽然很准时,很响亮,但钟声空泛、疲软、没有感召力。”住持认为,好的钟声不仅要响亮,而且要圆润、浑厚、深沉、悠远。
小和尚犯的错误,很多职场人士也在犯,就是认为只要完成工作就好了,而不去管工作成果是否是公司所需要的。
◆ 02 一个人真正的成长是精神的成长
得理饶人,放对方一条生路,给对方一个台阶下,为对方留点面子和立足之地,这样做还能给自己带来很多好处
李强在《成功人际关系》也说过:“得理不饶人,赢得是道理,输的是感情。”
每个人的价值观、生活背景都不同,因此生活中出现分歧在所难免。有些人喜欢“得理不饶人”,然而虽然表面胜利了,实际上却输掉了别人对你的信任和尊重,得不偿失。
《傅雷家书》中有这样一句话:“理直也不要气壮,得理也要饶人。”俗话也说“得饶人处且饶人”,其实就是告诉我们,即使有时很占理,也应该不失风度地考虑一下别人的感受,而不是一味地坚持所谓的“原则”
面对所犯的错误,精神层次高的人能勇于承认,精神层次低的人不是找理由解释就是不承认错误。
我看过采访他的一个视频,他起床后,就会去打高尔夫,这个习惯差不多坚持了半个世纪。
人这一辈子,其实属于我们的东西并不多,欲望太多,只会给你的人生增加负累。
智慧的人都知道如何控制自己的欲望,能够在合适的时机选择放弃,也能够果断地选择自己的人生方向。
自律背后,就是一个人不向生活妥协的倔强,而生活从来就是你强它就弱,你弱它就强。
牛一的公司是做软件开发的,前段时间拿下了一个大客户,对方要求技术人员必须到现场支持。他分别找两个适合的工程师沟通这件事情,其中一个很积极,表示愿意参与。另外一个认为这是公司额外增加给他的任务,表示不加工资就不愿意去。无奈对方要求立即派人去,他只能答应那个人涨工资的要求。结果,两人到了客户公司,没多久客户就投诉那个要求加工资的员工工作态度不好,消极怠工,要求换人,牛一直接就把他辞退了。而那个积极的员工也被升职为主管,整体负责项目的技术研发。
原来我的文章基本上都是自嗨的,根本没有给读者提供太多的价值,大家不愿意读是情理之中的。
每个标题、每个段落要融入营销学、心理学等很多个学科的基本原理,并不像自己原来想的那样,只要能够将心情转化为文字就可以了。
李小龙说过:不怕会一万招的对手,就怕一招练一万次的敌人。
雌雄同体不是指身体,而是指心理,是一个人既有本性别的特征,又揉进了另一性别的优点,看待世界,不是站在单一性别立场,而是兼具双性性格立场。
单纯从生理特征把人简单地分为男人和女人的思维,是比较低级的认知。高级的认知认为,真正厉害的人,在心理上都是雌雄同体的。
“男人吸引女人,往往是阳刚附带的温柔和细心,而女人迷倒男人,往往是温柔之外的独立和坚强。”
在生活中,也有很多人会因为一些原因不喜欢自己的工作或者不适合,但都是因为没有选择的权利,所以只能坚持。
这让我想起了龙应台在《亲爱的安德烈》中说过一段关于“选择”的话,她说:“孩子,我要求你读书用功,不是因为我要你跟别人比成绩,而是,我希望你将来拥有选择的权利,选择有意义、有时间的工作,而不是被迫谋生。”
这里所谓的“读书用功”,也可以理解成是你每天都要努力,持续学习和成长,总之就是让自己的能力不断提升,不至于在面临选择时没有选择,这才是人生最高级别的安全感。
努力了可能会拥有选择的权利,但也可能不会有,而唯有够优秀,才能具备选择的权利。
那么,如何才能拥有选择的权利呢?我觉得最重要的有两点:第一,技能要过硬。
第二,多储备一些技能。
越自律,人生越容易开挂。但我们大多数人依然陷入了“间歇性踌躇满志,持续性混吃等死”的恶性循环。
《知乎》上有个话题:“高度自律是一种什么样的体验?”我是出于好奇点进去看的。点赞数最高的答案出自一名叫作“逝水”的网友。他说自律有两种:第一种是为了尽可能地多产出,多做事情的自律;第二种是为了产出真正有价值的内容,为了使自己的生活更富有成果,而对自己欲望的管理。
亚里士多德在《尼各马可伦理学》中也说过,过度和不及都是不道德的行为,真正有德行的人,会保持一种适度的中间状态。
霍达的《穆斯林的葬礼》中有这样一句话:“在那庄严的时刻每个人都是平等的、坦诚的,在命运的抉择面前,任何伪装、虚饰和自欺欺人的侥幸心理都变得毫无意义,唯一可以使自己镇定的是真才实学。”
这让我联想起自己在职场上的一些经历,身边那些发展比较好的人,大多都很喜欢表现,甚至爱出风头。
适当地表现自己可以让自己获得更多的机会,但一味地炫耀可能就会适得其反了,不但不会为自己引来机会,还可能遭遇到同事的排挤,错失更多的机会。
那么,具体要如何表现呢?第一,多发表自己的看法。
第二,记住重要关系的人名并且主动打招呼。
第三,多帮助别人。
遇到不会做的事情,立刻就去想办法解决,就是智慧。凡是有智慧的人遇到问题,第一时间是思考怎么解决,而不是站在那儿埋怨。
◆ 03 一味追求情商,是因为智商不在线
社交的基本原则,是价值交换,如果你没有真功夫,无法给对方提供价值,是没有人在乎你的存在的。
鲁迅和萧红的关系一直很好,但其实,这是萧红不断写信给鲁迅的结果。
鲁迅之所以把一个初出茅庐的作家当成自己的朋友,就是因为萧红是一个优秀的作家,是萧红的才华征服了鲁迅。
《GitHub入门与实践》 – 大塚弘记
GitHub入门与实践 大塚弘记 13个笔记 ◆ 第1章 欢迎来到GitHub的世界 GitHub公 继续阅读
《发布!设计与部署稳定的分布式系统(第2版)》- 迈克尔·尼加德
发布!设计与部署稳定的分布式系统(第2版) 迈克尔·尼加德 16个笔记 ◆ 译者序 因为很多开发人员 继续阅读
[摘录]《GitHub入门与实践 – 大塚弘记》
GitHub入门与实践 大塚弘记 13个笔记
◆ 第1章 欢迎来到GitHub的世界
GitHub公司总部位于美国旧金山,拥有一只不知是章鱼还是猫的吉祥物octocat(图1.1)。
GitHub除提供Git仓库的托管服务外,还为开发者或团队提供了一系列功能,帮助其高效率、高品质地进行代码编写
理解Git,是熟练运用GitHub的关键所在。
◆ 第2章 Git的导入
在当时的开源环境下,虽然已经有数款版本管理软件被开发出来,但功能和性能都差强人意。加之Git是由Linus Torvalds亲自着手开发的,可以说在功能与性能方面无可挑剔。程序员们愿意接受Git,很大程度上取决于这个背景。
◆ 第4章 通过实际操作学习Git
要修改上一条提交信息,可以使用git commit –amend命令。
git log –graph命
这个小小的变更就没必要先执行git add命令再执行git commit命令了,我们用git commit -am命令来一次完成这两步操作。
用上述方式执行git rebase命令,可以选定当前分支中包含HEAD(最新提交)在内的两个最新历史记录为对象,并在编辑器中打开。
git remote add——添加远程仓库
-u参数可以在推送的同时,将origin仓库的master分支设置为本地仓库当前分支的upstream(上游)
Pro Git由就职于GitHub公司的Scott Chacon执笔,是一部零基础的Git学习资料。
LearnGitBranching是学习Git基本操作的网站(图4.9)。注重树形结构的学习方式非常适合初学者使用
通过tryGit我们可以在Web上一边操作一边学习Git的基本功能(图4.10)。很可惜该教程只有英文版。
[摘录]《发布!设计与部署稳定的分布式系统(第2版) – 迈克尔·尼加德》
发布!设计与部署稳定的分布式系统(第2版) 迈克尔·尼加德 16个笔记
◆ 译者序
因为很多开发人员在考虑分布式系统稳定性的设计时,会假设生产环境处于产品运行最理想的状态,且用户的行为是理智、可预见的。
◆ 前言
不具备稳定性的系统,就是不可用的系统。
系统不应该崩溃、停止响应、丢失数据、侵犯隐私、损失金钱、摧毁公司,或者“杀死”客户。
大多数软件是为软件开发实验室或QA部门的测试工程师设计的。
今天的软件设计类似于20世纪90年代早期的汽车设计,它们都与现实世界脱节。
在实验室这种宁静空间里,设计师所做出的设计既是那么地优雅、复杂、精巧,又是那么地脆弱、不中用,最终早早被淘汰
如今大多数的软件架构和设计,同样在干净、稳定却与现实相差甚远的环境中进行。
软件只有产品化才能产生价值。
◆ 第一部分 创造稳定性
拥有数百架飞机和几万名员工的这家价值数十亿美元的全球性航空公司,被迫停飞的原因只是一个未被捕获的SQLException异常。
威胁系统寿命的主要敌人是内存泄漏和数据增长。
一旦创建套接字,TCP连接就可以保持好几天,而且无须任何一方发送数据包。只要两个终端计算机内存中都具有该套接字状态,那么“连接”就仍然有效。路由可以改变,物理链路可以被断开和重新连接,这些都没关系,只要终端的两台计算机认为“连接”确实存在,那么“连接”就会持续存在。
这个例子的主要教训是,不是每个问题都可以在它所体现的抽象层面上来解决。有时候,这些原因会在各个层面上下交织。
Redis是将内存移出进程的另一个流行工具。它是一种快速的“数据结构服务器”,其定位介乎缓存和数据库之间。
会话是Web应用程序的命门死穴
会话的作用就是在内存中缓存数据。
早期的通用网关接口应用程序不需要会话,因为它们会为每个新请求启动一个新进程(通常是一个Perl脚本)。